величения защиты входа в систему состоит в том, чтобы требовать от пользователя два пароля. Для того чтобы войти в систему должны присутствовать два различных человека (с двумя различными паролями). Два различных пароля связаны с двумя различными счетами.
Не имеется никакого способа, используя стандартные средства, поддерживать два пароля для одного счета. Вы можете определять вход в систему с двумя паролями определенным образом, устанавливая следующие параметры, используя SMIT:
SMIT Security and Users Users Change/Show Characteristics of a User *User NAME [alex] ... PRIMARY Authentication Method [SYSTEM,SYSTEM;serg]
Когда alex регистрируется в системе, в этом примере, его запросят ввести его пароль. Если он отвечает правильно, система запросит затем ввести пароль пользователя serg (конечно, alex мог бы знать оба пароля, но тогда теряется смысл входа в систему с двумя паролями).
Вы должны установить ПЕРВИЧНЫЙ Опознавательный Метод точно как показано выше. Параметр SYSTEM определяет, что должна использоваться обычная программа установления подлинности пароля. По умолчанию, она проверяет пароль регистрирующегося пользователя.
Второй параметр SYSTEM определяет вторую проверку. В этом случае имеется операнд ;serg, и проверяется пароль счета, определенного в этом операнде.
Нижеследующие ASCII файлы содержат атрибуты пользователей и контроля доступа:
? /etc/passwd допустимые пользователи
?
/etc/group допустимые группы
? /etc/security
директория не доступная обычным
пользователям
? /etc/security/passwd пароли
пользователей
? /etc/security/user атрибуты
пользователей, ограничения на пароли
?
/etc/security/limits ограничения пользователей
?
/etc/security/environ установки окружения
пользователей
? /etc/security/login.cfg установки
входа в систему
? /etc/security/group атрибуты групп
Файл /etc/passwd является списком пользователей системы и некоторыми их атрибутами. Этот файл должен быть доступен для чтения всеми пользователями. Пример файла (фрагмент):
# catr /etc/passwd
root:!:0:0::/:/bin/ksh daemon:!:1:1::/etc: bin:!:2:2::/bin: sys:!:3:3::/usr/sys: adm:!:4:4::/var/adm: uucp:!:5:5::/usr/lib/uucp: guest:!:100:100::/home/guest: nobody:!:4294967294:4294967294::/: lpd:!:104:9::/: alex:!:200:0:X7560 5th floor:/home/alex:/bin/ksh
Поля этого файла, разделяемые символом ":", следующие:
? имя
пользователя - до 8-ми алфавитно-цифровых
символов.
? пароль - в старых системах UNIX
здесь содержался зашифрованный пароль. В AIX
это поле содержит символ "!" как ссылка
на файл /etc/security/passwd. Другими общими
значениями этого поля может быть символ
"*", который означает, что идентификатор
пользователя неверный и это поле может быть
пустым, что означает, что пароля нет.
?
идентификатор пользователя - номер
идентификатора пользователя.
?
индетификатор группы - номер
идентификатора группы вышеуказанного
пользователя.
? полное имя - любой
описательный текст для пользователя.
?
директория -директория пользователя при
входе в систему и инициирующее значение
для переменной $HOME.
? login программа -
оболочка пользователя при входе в систему и
инициирующее значение для переменной $SHELL.
Доступ к этому файлу есть только у пользователя root. Изменяется этот файл с помощью команд login, passwd, pwdadm и pwdck, исполняющихся с полномочиями root.
В этом файле хранятся зашифрованные пароли и связанная с ними информация. Этот файл имеет формат станз со станзами на каждого пользователя.
Пример файла (фрагмент):
# cat /etc/security/passwd
root: password=92t.mzJBjlfbY lastupdate=668124164 flags= daemon: password=* bin: password=* : alex: password=q/qD6q.ss21x. lastupdate=666293529 flags=ADMCHG,ADMIN,NOCHECK
Допустимые значения:
? password зашифрованный пароль или
символ "*" для заблокированных счетов
или пустой пароль.
? lastupdate дата и время
последнего обновления пароля в секундах
начиная с 1 января 1970 года.
? flags ADMCHG - пароль
может быть изменен только администратором
или пользователем root. ADMIN - пароль
пользователя может быть изменен только root.
NOCHECK - ограничения пароля не имеют силы для
этого пользователя.
Пример файла (фрагмент):
#cat /etc/security/user
default: admin=false login=true su=true daemon=true rlogin=true sugroups=ALL admgroups= ttys=ALL auth1=SYSTEM auth2=NONE tpath=nosak umask=022 expires=0 SYSTEM="compat" logintimes= pwdwarntime=0 account_locked=false loginretries=0 histexpire=0 histsize=0 minage=0 maxage=0 maxexpired=-1 minalpha=0 minother=0 minlen=0 mindiff=0 maxrepeats=8 dictionlist= pwdchecks=
Описание полей:
admin Определяется
административный статус пользователя.
Возможные значения true и false.
login
Определяется то, может ли пользователь
входить в систему. Возможные значения true и
false.
su Определяется то, могут ли другие
пользователи переключатся на этот счет
командой su или нет. Возможные значения true и
false.
daemon Определяется то, может ли
пользователь исполнять программы
пользуясь демоном cron или системным
контроллером ресурсов (SRC). Возможные
значения true и false.
rlogin Определяется то, можно
ли получить доступ к счету пользователя
используя удаленный вход в систему.
Используется командами telnet и rlogin. Возможные
значения true и false.
sugroups Определяются группы
которые могут переключатся на этот счет
пользователя. Если вы вставите символ
"!" перед именем группы, ее
пользователи наоборот будет исключены из
возможности переключатся на этот счет.
Возможные значения: список допустимых
групп, разделенных запятыми, значение ALL или
символ "*".
admgroups Список групп, которыми
управляет пользователь. Значение: список
доступных групп, разделенных запятыми.
ttys
Определяются терминалы, с которых
пользователю возможен доступ. Используя
символ "!" перед именем терминала вы
запретите использовать его для доступа
пользователю. Возможные значения: список
полных путей к устройствам, разделенный
запятыми, значение ALL или символ "*".
auth1
Определяется первичный метод
аутентификации для пользователя, который
по умолчанию устанавливается для
программы пароля. Этот метод
аутентификации будут использовать
программы login, telnet, rlogin и su. Для удвоенного
входа в систему значением этого поля будет
SYSTEM;NAME1,SYSTEM;NAME2.
auth2 Определяет для
пользователя вторичный метод
аутентификации.
tpath Определяет для
пользователя характеристики доверенного
пути. Возможные значения: nosak, notsh, always или on.
umask Определяет для пользователя значение
переменной umask по умолчанию. Рекомендуется
установить в 027.
expires Определяется время
действительности счета пользователя.
Возможные значения: дата допуска в формате
MMDDHHMMYY или 0, если счет не имеет
определенного времени допустимости. При
значении 0101000070 счет отменен.
SYSTEM
Определяются требования к аутентификации
версии 4. Это поле используется для определения
множественных или альтернативных методов
аутентификации которые пользователь
должен успешно пройти перед получением
доступа к системе. Возможные значения:
files когда возможно только локальным пользователям иметь доступ к системе.
compat когда используется обычная процедура входа в систему и разрешается иметь доступ к системе как локальным пользователям так и пользователям NIS.
DCE используется аутентификация Распределенной Компьютерной Среды (Distributed Computing Enviroment, DCE).
logintimes Определяет время, когда пользователь
может входить в систему. Значением является
список времен, разделенный запятыми, в
следующем формате: [!] [MMdd[-MMdd]]:hhmm-hhmm или [!]
[MMdd[-MMdd][:hhmm-hhmm] или [!] [w[-w]]:hhmm-hhmm или [!]
w[-w][:hhmm-hhmm] где, MM - номер месяца (00=январь, 11=декабрь),
dd - день месяца, hh - часы дня (00-23), mm - минуты
часа и w - день недели (0=воскресенье, 6=суббота).
pwdwarntime Количество дней перед сменой пароля
когда появляется предупреждение
пользователю с информацией о необходимости
скорой смены пароля. Возможные значения:
положительное целое число или 0 для
выключения этой функции.
account_disable
Устанавливается в true, если счет по
умолчанию заблокирован и не может быть ис-пользован
для входа в систему. В обратном случае
устанавливается в false.
logintries Количество
попыток неправильных входов в систему,
после чего пользователь не имеет
возможности войти в систему. Возможные
значения: положительное целое число или 0
для выключения этой функции.
histexpire
Определяет период в неделях в течении
которого пользователь не может применить
снова свой старый пароль. Возможные
значения: целое число от 0 до 260. Рекомендованное
значение - 26 (около 6-ти месяцев).
histsize
Определяется количество старых паролей,
которые не могут быть повторены. Возможные
значения: целые числа от 0 до 50.
minage
Определяется минимальное количество
недель между сменами паролей. По умолчанию=0.
Диапазон от 0 до 52. Рекомендуется оставить
значение по умолчанию.
maxage Работает
совместно с переменной pwdwarntime (см.выше).
Определяет максимальное количество недель
когда пароль является действующим. По
умолчанию=0, что означает неограниченное
время использования. Допустимый диапазон
значений от 0 до 52.
maxexpired Определяется
максимальное количество недель после
истечения периода, указанного в переменной
maxage, в течении которого пользователю дается
возможность изменить свой пароль. По
умолчанию=-1, что эквивалентно
неограниченному сроку. Допустимый
диапазон от -1 до 52.
minalpha Определяется
минимальное количество алфавитных
символов в пароле. По умолчанию=0. Диапазон -
от 0 до 8.
minother Определяется минимальное
количество неалфавитных символов в пароле.
По умолчанию=0. Диапазон - от 0 до 8. Сумма
значений параметров minalpha и minother должна не
превышать 8. Если эта сумма больше 8 то
значение параметра minother вычисляется как
разница между 8 и значением параметра minalpha.
minlen Определяется минимальная длина пароля.
По умолчанию=0. Диапазон - от 0 до 8. Минимальная
длина пароля берется из значения этого
параметра или из суммы значений параметров
minalpha+minother, в зависимости от того, какая
величина больше.
mindiff Определяется
минимальное количество символов в новом
пароле, которые не должны совпадать с
символами в старом при его смене. По
умолчанию=0. Возможные значения - от 0 до 8.
maxrepeats Определяется максимальное
количество повторений одного символа в
пароле. По умолчанию=8, что эквивалентно
неограниченному количеству повторений.
Возможные значения - от 0 до 8.
dictionlist
Определяет словарь паролей используемый
для проверки на "стойкость" нового
пароля. Возможные значения: разделенный
запятыми список абсолютных путей к файлам
словарей. Файл словаря должен содержать по
одному слову на строку, причем каждое слово
не должно иметь пробелов ни впереди ни
сзади. Слова могут содержать только 7-ми
битные символы ASCII. Все словари и директории
должны быть защищены от за-писи от всех
пользователей, кроме root. По умолчанию не
используется никакого файла словарей.
pwdchecks Определяется внешний ограничивающий
метод используемый для проверки качества
пароля. Возможные значения: разделенный
запятыми список абсолютных путей методов
проверки и/или путь к методу относительно
директории /usr/lib. По умолчанию внешний
ограничивающий метод проверки пароля не
используется.
#more /etc/group
system:!:0:root,alex staff:!:1:alex bin:!:2:root,bin sys:!:3:root,bin,sys adm:!:4:bin,adm uucp:!:5:uucp mail:!:6: security:!:7:root nobody:!:4294967294:nobody,lpd usr:!:100:guest accounts:!:200:alex
Поля в файле /etc/group следующие:
? группа до 8
алфавитно-цифровых символов.
? пароль не
используется AIX 4-й версии и должен
содержать "!" ? групповой
идентификатор
? члены разделенный запятыми
список пользователей, членов группы.
#more /etc/security/group
system: admin=true staff: admin=false : accounts: admin=false adms=alex
Файл /etc/security/group построен в
формате станз для каждой группы. Возможные
параметры:
? admin true или false, в зависимости от
того административная группа или нет.
? adms
разделенный запятыми список пользователей,
которые являются администраторами группы.
Если параметр admin=true, то этот параметр
игнорируется, так как только root может
управлять административной группой.
default:
:
herald="\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThis is the console.
Restricted use only.\nlogin:
logintimes=
logindisable=0
logininterval=0
loginreenable=0
logindelay=0
Именами станз являются имена портов.
Возможные параметры:
herald Определяется первое сообщение выдаваемое на экран перед приглашением войти в систему. Значением является строка. Если herald явно не определен, то используется herald по умолчанию из директории сообщений ассоциированных с тем языком, который установлен в файле /etc/environment.
logintimes Определяет период в течение которого пользователь может использовать порт для входа в систему.
logindisable Количество неуспешных попыток входа в систему после которых порт будет заблокирован. Используется совместно с параметром logininterval (см.ниже).
logininterval Число секунд в течении которых порт будет заблокирован при достижении количества неуспешных попыток входа в систему согласно значения, установленного в параметре logindisable.
loginreenable Количество минут после прошествия которых заблокированный порт автоматически разблокируется.
logindelay Время задержки в секундах между попытками неудачного входа в систему. Задержка увеличивается с каждой попыткой на эту величину. То есть если значение у этого параметра - 2, то первая задерка будет 2 секунды, вторая - 4, третья - 6 секунд и так далее.