Концепция работы с пользователями
Система сохраняет различную информацию о каждом пользователе
К такого рода информации относится перечисленная ниже.
username
уникальный идентификатор, присваиваемый каждому
пользователю в системе. Примеры имен пользователей larry,
karl и mdw. Могут использоваться буквы и цифры, а также
нижнее подчеркивание и точка. Обычно имена пользователей
ограничиваются восемью символами.
user
ID (или UID) - идентификатор пользователя - уникальный
номер, присваиваемый каждому пользователю системы. Система
обычно отслеживает идентификаторы пользователей, а не имена.
group
ID (или GID) - идентификатор группы это идентификатор
группы пользователя. В Разделе 3.9 мы обсуждали права
группы; каждый пользователь принадлежит к одной или более
группам, определенных системным администратором. Подробнее
об этом ниже.
password
Система также хранит в зашифрованном виде пароль
пользователя. Команда passwd используется для установки и
изменения пароля.
full name
"Полное имя" или "действительное имя" хранится
вместе с именем пользователя. Например, пользователь schmoj
может иметь действительное имя ``Joe Schmo''
(прим.
переводчика: неужели для английского уха оно звучит также
красиво, как для русского).
home directory
Домашний каталог - это каталог, в
который пользователь начально попадает при входе в систему.
Каждый пользователь должен иметь свой собственный домашний
каталог, обычно ниже /home.
login shell
Исходный shell - это shell, который запускается
для пользователя при его входе в систему. Это, например,
может быть /bin/bash и /bin/tcsh.
Файл /etc/passwd содержит эту информацию про пользователей.
Каждая строка этого файла содержит информацию об одном
пользователе; формат строки имеет вид:
username:encrypted_password:UID:GID:full_name:home_directory:login_shell
Например, это может выглядеть так:
kiwi:Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash
Как видно, первое поле ``kiwi'' - имя пользователя.
Следующее поле ``Xv8Q981g71oKK'' - зашифрованный пароль. Пароли в
читаемом виде в системе не хранятся. Сами пароли шифруются как
секретные ключи. Другими словами, вы должны знать пароль, чтобы
его расшифровать. Эта форма шифрации достаточно надежна.
Некоторые системы Linux
используют "теневой пароль", в котором информация о
паролях хранится в файле /etc/shadow. Поскольку /etc/passwd
всем доступен, /etc/shadow обеспечивает дополнительный уровень
секретности своей недоступностью. Теневой пароль обеспечивает и
некоторые другие свойства, вроде прекращения действия пароля и
т.д.; мы здесь не будем вдаваться в эти тонкости.
Третье поле, ``102'', - идентификатор пользователя (UID).
Оно должно быть уникальным для каждого пользователя. Четвертое
поле, ``100'', идентификатор группы (GID). Этот пользователь
принадлежит к группе номер 100. Информация по группе хранится в
файле /etc/group. Смотрите дополнительную информацию в Разделе
4.4.5.
Пятое поле - полное имя пользователя , ``Laura Poole''.
Последние два поля - домашний каталог пользователя
(/home/kiwi) и исходный shell (/bin/bash) соответственно.
Домашний
каталог пользователя не обязательно должен иметь имя,
совпадающее с именем пользователя (username). Однако это помогает
в идентификации.