Какие данные хранятся в учетной карточке?

Прежде чем перечислить - какие поля есть в учетной карточке, хотелось бы обратить внимание вот на что.

Каждому юзеру присваивается уникальный номер (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

    Это уникальное имя юзера. Его спрашивают при входе в компьютер. Оно используется в командах администрирования.

    Password

    Пароль. Для того, чтобы никто другой, кроме этого юзера не мог войти в систему, естественно, у каждого юзера должен быть его собственный секретный пароль для входа. Вообще-то, пароль может и отсутствовать, но это очень не рекомендуется. Особенно, если машина доступна по сети.

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

    user ID

    Уникальный номер юзера. Он однозначно соответствует имени (Name) и используется внутри системы.

    group ID

    Номер группы, к которой принадлежит юзер. Подробнее о группах смотри Администрирование групп юзеров.

    General information

    Это просто некоторые "анкетные данные" того реального человека, который скрывается под Name. Это поле можно и не заполнять. Обычно там пишут просто реальное имя/фамилию юзера (например John Doe).

    Однако, полностью это поле может состоять из

    Home dir

    Домашний каталог юзера. Именно в этом каталоге помещаются настроечные файлы для различных программ с настройками под конкретного юзера. Здесь же юзеру дается полная свобода создавать/удалять свои файлы.

    Shell

    Программа, которая запускается для юзера, когда он входит в систему. Обычно это "исполнитель комманд" (типа command.com в DOS'е), который принимает комманды с терминала и, в свою очередь, запускает программы, необходимые юзеру.

    В современных Unix'ах обычно есть несколько таких "исполнителей" (sh, csh, tcsh, bash ...) из которых можно выбрать наиболее подходящий.

    Но, вместо такого "исполнителя команд" здесь может быть указана любая другая программа, что часто используется для некоторых задач.

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

    Class

    Это поле пока ничего не означает. По замыслу, юзер может принадлежать к некоему login-классу. При этом, когда он будет входить в систему, могут быть сделаны какие-нибудь установки (например заданы переменные среды), общие для всех юзеров этого класса. Естественно, должна быть еще некая база данных, в которой указанно - что делать для юзера из конкретного класса (или не делать). Но, сейчас (по крайней мере до версии 2.2.2) это поле никакими программами не используется.

    Password change time

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

    Account expiration time

    А здесь администратор задает дату, после которой доступ юзеру в систему будет запрещен. То есть, account юзера сохраняется (и все его файлы тоже), но войти в систему он не сможет (пока не договорится с администратором :-).

    Подробнее обо всем этом можно прочитать в соответствующем man'уале.
    man 5 passwd.


    Иван Паскаль pascal@tsu.ru