8.4. Базы данных пользователей и групп
Список пользователей обычно хранится в файле /etc/passwd
, а пароли в зашифрованном виде хранятся в файле /etc/shadow
. Оба этих файла являются текстовыми, в относительно простом формате, который может быть прочитан и изменен с помощью текстового редактора. Каждому пользователю, упомянутому там, отводится для описания одна строка, включающая в себя несколько полей, разделенных двоеточием (“:
”).
8.4.1. Список пользователей: /etc/passwd
Здесь можно увидеть список полей, что используются в файле /etc/passwd
:
login - имя для входа, например rhertzog
;
password - пароль: пароль зашифрован односторонней функцией (crypt
), опираясь на DES
, MD5
, SHA-256
или SHA-512
. Специальное обозначение “x
” показывает, что зашифрованный пароль сохранён в файле /etc/shadow
;
uid
: уникальный номер, идентифицирующий каждого пользователя (например номер 1002 присвоен пользователю rhertzog);
gid
: уникальный номер главной группы данного пользователя (Debian создает особенную группу для каждого пользователя по умолчанию, например, номер 1002 присвоен группе rhertzog, которая является главной для пользователя rhertzog);
GECOS
: данные этого заголовка обычно содержат полное имя пользователя (в данном примере - это GECOS, или фамилия-имя-отчество, через запятую);
login directory - каталог пользователя (совпадает с именем для входа), предназначенный для того, чтобы пользователь хранил свои персональные файлы (переменная окружения $HOME
обычно указывается здесь);
program to execute upon login - первая программа, выполненная сразу после входа пользователя в систему. Обычно это командный интерпретатор (shell), например "/bin/bash", дающий пользователю возможность управления (в объеме его прав). Если указать специальное значение /bin/false
(которое ничего не делает и возвращает контроль системе немедленно), то пользователь не сможет войти в систему.
8.4.2. Скрытый и Зашифрованный Файл Паролей: /etc/shadow
Файл /etc/shadow
содержит следующие поля:
8.4.3. Изменение существующей учетной записи или пароля
Следующие команды позволяют изменять информацию, размещенную в конкретных полях базы данных пользователей. Команда passwd
позволяет обычному пользователю изменять их пароль, в этом случае сразу происходит изменение и обновление файла /etc/shadow
. Команда chfn
(CHange Full Name - Изменить Полное Имя), зарезервирована для администратора (super-user, root), изменяет поле GECOS
. Команда chsh
(CHange SHell - Изменить командный интерпретатор) позволяет пользователю изменить свой первоначальный командный интерпретатор во время входа в систему, однако доступный выбор будет ограничен только теми, что расположены в файле /etc/shells
. На администратора это ограничение не распространяется и он может установить себе любую программу, по своему выбору.
И наконец, команда chage
(CHange AGE - Изменить возраст) позволит администратору изменить пароль с истекающим сроком действия (Параметр -l user
покажет настоящие значения). Вы можете также принудительно завершить срок действия пароля для пользователя используя команду passwd -e user
. В этом случае при следующем входе пользователя в систему ему будет предложено заменить существующий пароль (принудительно, без всяких "хочу" или "не хочу").
8.4.4. Отключение учетной записи
Вам может понадобиться “отключить учетную запись” (заблокировать пользователя), в качестве дисциплинарной меры, для целей расследования, или просто в случае длительного или окончательного отсутствия пользователя. Отключённая учетная запись означает, что пользователь не может войти или получить доступ к машине. Учетная запись остается неизменной на машине и никаких файлов или данных не удаляется, запись просто становится недоступна. Для этого надо применить команду passwd -l user
(блокировать). Снять блокировку учетной записи можно похожим способом, с параметром -u
(разблокировать).
8.4.5. Список групп: /etc/group
Группы, существующие в системе, перечислены в файле /etc/group
, простая текстовая база данных в формате, похожем на тот, что используется в файле /etc/passwd
, со следующими полями:
имя группы;
пароль (необязательно): это поле используется в случаях, если необходимо присоединить кого-то к группе, при этом, не давать ему те же права, как у других членов этой группы (с командами
newgrp
или
sg
, смотри вставку
К ОСНОВАМ Работа с несколькими группами);
gid
: уникальный идентификационный номер группы;
список участников (данной группы): перечень имен пользователей, которые являются членами указанной группы, разделенные запятыми.
The addgroup
and delgroup
commands add or delete a group, respectively. The groupmod
command modifies a group's information (its gid
or identifier). The command gpasswd group
changes the password for the group, while the gpasswd -r group
command deletes it.