Файл паролей

Формат файла /etc/passwd в большинстве разновидностей UNIX постоянен. Он содержит записи, поля в которых разделены двоеточиями:

user-name:p5wd:uid:giv:uid comments: directory: shell

В некоторых системах, типа BSD, формат записей несколько отличается:

username:pswd:uid:gid:user class:pswd change:acct expiration:uid comments:directory:shell

username - это то, что пользователь вводит после приглашения UNIX login:. Обычно это поле содержит восемь или меньше алфавитно-числовых символов, при этом символы алфавита находятся в нижнем регистре. Эта последовательность должна быть уникальной. Двоеточия не допускаются, так как они используются для разграничения полей. Для лучшей совместимости это поле не должно содержать точек не должно и начинаться с тире или знака плюс.

Поле pswd содержит пароль и может иметь множество различных форм. Оно может быть пустым, указывая, что для входа в систему пароль не нужен. Поле может содержать до 13 символов, представляющих зашифрованную строку пароля пользователя. В позиции поля может находиться символ, не попадающий в набор {./0-9 A-Z д-s}. К примеру, в этот диапазон не показывает символ "*". Это значит, что бюджет для данного пользователя существует, но вход в систему невозможен.

Кроме того, в системах IRIX и HP-UX поле пароля может содержать запятую, после которой следуют один или два символа.

Порядок символов следующий: ./0-9 A-Z а-z. Символ "." эквивалентен числу ноль, a "z" - числу 63. Обычно для ссылок на символы используются их числовые значения. Символы указывают количество недель действия пароля и число недель, которое должно пройти перед тем, как будет возможна смена пароля, соответственно. Если первое число равно нулю (точка), пользователь должен сменить пароль при следующей попытке входа в систему. Если второе число больше первого, пароль может сменить только суперпользователь, что часто вызывает недовольство пользователей, озабоченных проблемами защиты.

СОВЕТ Если система не имеет встроенной проверки паролей, выбранных пользователями, помочь в этом может утилита Alec Muffefts Crack.

uid, или идентификатор пользователя, - это просто уникальное число, назначенное для данного пользователя. Обычно это положительное число до 65535, хотя некоторые системы могут обрабатывать числа двойной точности, применять которые не рекомендуется. Если это число не уникально, все имена пользователей с одинаковым идентификатором представляются принадлежащими одному пользователю (обычно с первым именем). Некоторые идентификаторы зарезервированы:

0: Суперпользователь (привилегированный пользователь)

I-10: Демоны и псевдопользователи

11-99: Системные, зарезервированные и "famous" (важные) пользователи

100+: Обычные пользователи

60001: "nobody" (иногда 32000 или 65534)

60002: "noaccess" (иногда 32001)

gid (от group ID) - числовой стандартный групповой идентификатор пользователя. Это число соответствует записи в файле /etc/group. Этот файл будет рассмотрен ниже.

Поле uid comments традиционно называют GECOS или GCOS. Оно служит источником информации для операционной системы. Чтобы общая команда finger правильно отображала эту информацию, поле должно содержать настоящее имя пользователя, код компании или офиса, номер телефона офиса, домашний телефон, разделенные запятыми. Могут быть указаны не все данные, тогда для сохранения синтаксиса GECOS нужно применять заполнители. Например, запись Homer Userр,800-IAM-HOME позволит вывести подлинное имя пользователя и его домашний телефон. Настоящее имя пользователя также выводится почтовой программой в заголовке почтовых сообщений.

Поле directory обычно называется собственным каталогом (home directory) пользователя или исходным рабочим каталогом. Этот каталог предоставляется пользователю после входа в систему, но перед выполнением его персональных файлов запуска.

Поле shell (оболочка) определяет интерпретатор команд или программу, предоставляемую пользователю после входа в систему. Среди множества оболочек можно выделить: sh (Bourne), ksh (Kom), csh (С), tcsh (тип TENEX/ TOPS-20 оболочки С), bash (Bourne Again). По умолчанию принимается оболочка Bourne. Заметьте, что это поле не обязательно содержит название оболочки. Оно может указывать программу, которая блокирует имя пользователя и запускает приложение, захватывающее канал связи. Чтобы значение этого поля было допустимым, в некоторых системах требуется присутствие этой записи в проверочном файле оболочки.

Поле class не используется, но предназначено для определения класса атрибутов пользователя для данного имени пользователя.

Поле pswd change определяет время смены пароля. Это число секунд, которые пройдут со знаменательного момента 1 января 1970 года, 00:00. Если значение не указано, вынужденной смены пароля не происходит.

Поле aссt expiration представляет число секунд, прошедших с этого же момента до прекращения действия бюджета. Если поле пусто, срок действия бюджета не ограничен.

Кроме того, если установлена и работает NIS (Network Information Service - информационная служба сети)/УР (Yellow Pages - желтые страницы), файл пароля может содержать другие типы записей. К дополнительным полям относятся:

+ должны быть включены все записи YP

+username включить явное имя пользователя из YP

-username исключить явное имя пользователя из YP

+@netgroup включить все имена пользователей из YP для указанной группы

-@netgroup исключить все имена пользователей из YP для указанной группы

Обычно, когда поля uid, gid, uid comments, directory и shell содержат данные, они вытесняют значения, которые для них пересылают YP. Имейте в виду, что эти записи обрабатываются по порядку, при этом на происходящее оказывает влияние первая запись, а не последняя, если они противоречат друг другу. Например:

root:х:0:0:Superuser:/:

daemon:*:1:5::/:/sbin/sh bin:*:2:2::/usr/bin:/sbin/sh sys:*:3:3::/:

adm:*:4:4: :/var/adm:/sbin/sh

uucp:* 5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico

lp:*:9 7::/var/spool/lp:/sbin/sh

nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico

hpdb:* 27:1:ALLBASE:/:/sbin/sh

nobody *:-2:60001: :/:

dave:x 100:10:Dave G,13,x3911,unlisted:/usrl/dave:/bin/tcsh

charlene:x:101:10:Charlene G,14,xl800,unlisted:/usrl/charlene:/bin/tcsh

john:x 102:60:John S,2,555-1234,xl400:/usr2/john:/bin/ksh

georgia:x:103:60:Georgia S,11,xl43,xl43:/usr2/georgia:/bin/csh

-steve::::::

+@friends:::20:::

+wayne::102:::/usr3/wayne:/bin/sh97

Имя пользователя sieve всегда исключается, даже если оно входит в группу friends. Каждый член группы friends по умолчанию помещается в группу 20. Включается имя пользователя wayne из YP. Все его поля, кроме gid и uid comments, перекрываются указанной информацией. Отметьте, что в этом примере буква х в поле pswd стоит вместо реального зашифрованного пароля. Символ * поля pswd обозначает псевдопользователей без права входа в систему. Дополнительные сведения о псевдопользователях содержатся в конце раздела "Добавление новых пользователей".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: