Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Акуленок_часть1.doc
Скачиваний:
38
Добавлен:
13.11.2019
Размер:
1.43 Mб
Скачать

8.3.1. Файл /etc/passwd

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

Каждая строка этого файла имеет следующий формат:

id:password:UID:GID:user_info:home:shell

Рассмотрим файл /etc/passwd.

$ cat /etc/passwd

root:x:0:1:Super-User:/:/sbin/sh

daemon:x:1:1::/:

bin:x:2:2::/usr/bin:

sys:x:3:3::/:

adm:x:4:4:Admin:/var/adm:

lp:x:71:8:Line Printer Admin:/usr/spool/lp:

uucp:x:5:5:uucp Admin:/usr/lib/uucp:

smmsp:x:25:25:SendMail Message Submission Program:/:

listen:x:37:4:Network Admin:/usr/net/nls:

nobody:x:60001:60001:Nobody:/:

noaccess:x:60002:60002:No Access User:/:

nobody4:x:65534:65534:SunOS 4.x Nobody:/:

col:x:100:1::/home/col:/bin/sh

temp:x:101:1::/home/temp:/bin/sh

qaz:x:102:1::/home/qaz:/bin/sh

Temos:x:103:1::/home/Temos:/usr/bin/bash

В строках последовательно через двоеточия представлены следующие данные.

Первое поле – входное имя пользователя (регистрационное имя). Это имя пользователь вводит для входа в систему.

Регистрационные имена должны быть уникальными и содержать не более 8 символов. Они могут включать цифры (во всех позициях, кроме первой) и не должны содержать знаков препинания. Регистрационные имена могут включать как строчные, так и прописные буквы. При вводе имени необходимо учитывать регистр. Символ двоеточия не допускается, так как он используется для разграничения полей. Для лучшей совместимости это поле не должно содержать точек, не должно начинаться с тире или знака плюс.

Например, в ОС Solaris имя должно иметь длину от 2 до 8 символов и содержать только латинские буквы и цифры. Имя пользователя в Solaris может содержать прописные латинские буквы, однако из соображений совместимости с другими системами UNIX рекомендуется использовать только строчные (маленькие) буквы.

Второе поле – признак наличия пароля. Пустое поле означает отсутствие пароля.

С появлением быстродействующих аппаратных средств и эффективных алгоритмов шифрования все более очевидной становится необходимость сокрытия зашифрованных паролей путем помещения их в отдельный файл, недоступный для чтения всему миру. Этот механизм называется механизмом теневых (shadow) паролей. Смысл этого механизма состоит в том, что зашифрованные пароли переадресуются другому файлу, где и хранятся.

В системе HP–UX принята другая схема сокрытия файла пароля. Для каждого имени пользователя существует файл /tcb/files/auth/first_letter/username, где first_letter – начальная буква имени пользователя, а username – регистрационное имя пользователя.

В системах BCD применяется еще одна разновидность системы сокрытия пароля, использующая файл /etc/master.passwd.

В системе AIX IBM для хранения зашифрованных паролей имеется файл /etc/security/passwd.

В системах IRIX и Solaris зашифрованные пароли и дополнительная информация о параметрах пароля находится в файле /etc/shadow. Его может читать только пользователь root.

Третье поле – Числовой идентификатор пользователя.

UID – это уникальное число, назначенное для данного пользователя от 0 до 2147483647. Пользователю не надо знать свой идентификатор, потому что он используется только системой, для входа в систему пользователь указывает только свое имя (username).

Некоторые идентификаторы зарезервированы, их перечень приведен в табл.8.1.

Таблица 8.1