Какие данные хранятся в учетной карточке?
Прежде чем перечислить - какие поля есть в учетной карточке, хотелось бы
обратить внимание вот на что.
Каждому юзеру присваивается уникальный номер (user ID), именно этот
цифровой номер и используется внутри операционной системы при проверке
прав доступа, сборе и хранении статистики и т.д. Однако, для человека
оперировать все время номерами юзеров не удобно. Поэтому, каждому юзеру
кроме номера присваивается еще уникальное имя (login name).
Если в какой-нибудь команде требуется в качестве аргумента указать
юзера, обычно используется это "login name". И, наоборот, если какая-либо
программа в своем выводе как-нибудь упоминает конкретных юзеров, она
обычно называете их этим именем, а не просто печатает номер юзера.
То есть, между user ID и name должно быть всегда однозначное соответствие.
Просто user ID используется во внутренних данных системы, а name при общеннии
человек-компьютер.
Итак. В учетной карточке юзера хранится
Name
Password
user ID
group ID
General information
Home dir
Shell
кроме того есть еще поля, которые часто не используются
(кстати, в карточке они располагаются между group ID и General Information)
Class
Password change time
Account expiration time
Назначение этих полей.
Это уникальное имя юзера. Его спрашивают при входе в компьютер.
Оно используется в командах администрирования.
Пароль. Для того, чтобы никто другой, кроме этого юзера не мог
войти в систему, естественно, у каждого юзера должен быть его собственный
секретный пароль для входа. Вообще-то, пароль может и отсутствовать, но
это очень не рекомендуется. Особенно, если машина доступна по сети.
Кстати, пароли хранятся в базе в закодированном виде, поэтому, даже
администратор не может его узнать.
(Собственно администратору он и не нужен, у него и так права не ограничены.
А вот если юзер забудет свой пароль, то проще попросить администратор
записать новый пароль, чем пытаться извлечь старый).
Уникальный номер юзера. Он однозначно соответствует имени (Name)
и используется внутри системы.
Номер группы, к которой принадлежит юзер. Подробнее о группах ????
Это просто некоторые "анкетные данные" того реального человека, который
скрывается под Name. Это поле можно и не заполнять. Обычно там пишут
просто реальное имя/фамилию юзера (например John Doe).
Однако, полностью это поле может состоять из
- Full Name - Имя Фамилия,
- Location - адрес (имеется в виду рабочее место),
- Office Phone - рабочий телефон,
- Home Phone - домашний телефон
Домашний каталог юзера. Именно в этом каталоге помещаются настроечные
файлы для различных программ с настройками под конкретного юзера.
Здесь же юзеру дается полная свобода создавать/удалять свои файлы.
Программа, которая запускается для юзера, когда он входит в систему.
Обычно это "исполнитель комманд" (типа command.com в DOS'е), который
принимает комманды с терминала и, в свою очередь, запускает программы,
необходимые юзеру.
В современных Unix'ах обычно есть несколько таких "исполнителей"
(sh, csh, tcsh, bash ...) из которых можно выбрать наиболее подходящий.
Но, вместо такого "исполнителя команд" здесь может быть указана
любая другая программа, что часто используется для некоторых задач.
Подробнее об этом сказано в разделе "Для чего
используется учетная карточка".
Это поле пока ничего не означает. По замыслу, юзер может принадлежать
к некоему login-классу. При этом, когда он будет входить в систему, могут
быть сделаны какие-нибудь установки (например заданы переменные среды),
общие для всех юзеров этого класса. Естественно, должна быть еще некая
база данных, в которой указанно - что делать для юзера из конкретного класса
(или не делать). Но, сейчас (по крайней мере до версии 2.2.2) это поле никакими
программами не используется.
Здесь администратор может указать дату, когда юзеру следует поменять
пароль. Дело в том, что, если требуется повышенная секретность, одной
из мер предосторожности является то, что пароли должны периодически
меняться (раз в неделю, месяц и т.п.). Для того, чтобы заставить юзера
следовать этому правилу, администратор задает дату, после наступления
которой компьютер будет предлагать юзеру при входе систему поменять
свой пароль.
А здесь администратор задает дату, после которой доступ юзеру в систему
будет запрещен. То есть, account юзера сохраняется (и все его файлы тоже),
но войти в систему он не сможет (пока не договорится с администратором :-).
Подробнее обо всем этом можно прочитать в соответствующем man'уале.
man 5 passwd.
Иван Паскаль pascal@tsu.ru