величения защиты входа в систему состоит в том, чтобы требовать от пользователя два пароля. Для того чтобы войти в систему должны присутствовать два различных человека (с двумя различными паролями). Два различных пароля связаны с двумя различными счетами.

Не имеется никакого способа, используя стандартные средства, поддерживать два пароля для одного счета. Вы можете определять вход в систему с двумя паролями определенным образом, устанавливая следующие параметры, используя 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

Файл /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.

Файл /etc/security/passwd

Доступ к этому файлу есть только у пользователя 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 - ограничения пароля не имеют силы для этого пользователя.

Файл /etc/security/user

Пример файла (фрагмент):

#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. По умолчанию внешний ограничивающий метод проверки пароля не используется.

Файлы /etc/group и /etc/security/group

#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 может управлять административной группой.

Файл /etc/security/login.cfg

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 секунд и так далее.

К содержанию Вперед Назад

Об авторе

К содержанию Назад

Об авторе

Быков Алексей Геннадиевич - менеджер информационной системы ЗАО "Комтек", г.Кривой Рог, Украина.

В 1990 году после окончания 2-го курса на кафедре "Физика полупроводниковых материалов и приборов" МИСиС работал в научно-исследовательском и проектном институте "Механобрчермет", где прошел путь от техника технического отдела до начальника рекламного отдела. Затем руководил рекламной фирмой "Софт-Пресс", после чего перешел в 1992 году работать в ПКФ "Комтек" (в дальнейшем преобразованное в закрытое акционерное общество), где и работает в настоящее время.

Выполняет задачи по развитию и управлению корпоративной информационной системой ЗАО "Комтек", построенной на серверах с операционными системами Microsoft Windows NT Server, IBM AIX, персональных компьютерах и сетевом оборудовании IBM, Hewlett-Packard, Cisco, 3Com. Участвует в техническом руководстве информационной системой Криворожского процессингового центра ЗАО "Комтек" по обслуживанию системы безналичных расчетов с использованием смарт-карт (система построена на использовании AIX, Oracle, системы SmartCity, маршрутизаторов и серверов доступа фирмы Cisco).

E-mail: agb@krig.dp.ua

К содержанию Назад