Пользовательские права
В графической оболочке системы тоже имеются свои варианты программ с оконным интерфейсом, позволяющие создать новую учетную запись и сделать этот процесс более наглядным. Но ортодоксально мыслящие администраторы вообще не склоны признавать графические оболочки.
При необходимости администратор может напрямую редактировать файлы паролей и групп. Текстовые файлы group, passwd и shadow, располагащихся в каталоге /etc, представляют собой отдельные записи, состоящие из полей. Символы в этих полях являются данными для операционной системы. Поля отделяются друг от друга двоеточиями.
Наиболее простым является файл /etc/group. В каждой записи указывается только имя группы, ее идентификатор и символ присутствия пароля (пароли на группы, как правило, не назначаются). Если группа является дополнительной, в ее строке через запятые указываются идентификаторы всех дополнительных пользователей.
Файл /etc/passwd является таблицей, каждая строка которой представляет отдельную учетную запись, состоящую из 7 полей: регистрационное имя, признак пароля, идентификатор пользователя, идентификатор группы, дополнительная информация, "домашний" каталог, имя командного процессора. Обратите внимание на характерные разделители полей в виде двоеточия.
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/bin/bash
xfs:x:43:43:X Font Server:/etc/Xll/fs:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
Листинг 1. Содержимое файла /etc/passwd
Сами хэшированные пароли в файле /etc/passwd не хранятся. Если в учетной записи пользователя вместо пароля стоит символ х, это указывает на то, что хэшированный пароль находится в другом файле - /etc/shadow.
Файл /etc/shadow представляет собой таблицу, каждая строка которой состоит из 9 полей, разделенных двоеточиями: >- регистрационное имя пользователя или псевдопользователя,
-
хэшированный пароль,
-
число дней с полуночи 1.01.70 г. до дня последнего изменения пароля,
-
минимальное число дней действия пароля со дня его последнего изменения,
-
максимальное число дней действия пароля,
-
число дней до того дня, когда система начнет выдавать предупреждения о необходимости смены пароля,
-
число дней со времени обязательной смены пароля до блокировки учетной записи,
>- день блокировки учетной записи.
Последнее, девятое поле, зарезервировано и не используется.
root:$1$Yj7IcY80$oCX9V9QYipDtYflbfOOBEl:12496:0:99999:7
bin:*:12495:0:99999:7:
daemon:*:12495:0:99999 : 7
adm:*:12495:0:99999:7:
lp:*:12495:0:99999:7: :
sync:*:12495:0:99999 : 7
shutdown:*:12495:0:99999
halt:*:12495:0:99999:7
mail:*:12495:0:99999 : 7
news:*:12495:0:99999 : 7
uucp:*:12495:0:99999 : 7
operator:*:12495:0:99999
games:*:12495:0:99999:7 :
gopher:*:12495:0:99999
ftp:*:12495:0:99999:7:
nobody:*:12495:0:99999
vcsa: ! rpm:!! xfs:!! rpc:!!
:12495:0:99999:7
12495:0:99999:7
12495:0:99999:7
12495:0:99999:7 mailnull:!!:12495:0:99999:7: smmsp:!!:12495:0:99999 : 7 gdm:!!:12495:0:99999:7: nscd:!!:12495:0:99999 : 7 ntp:!!:12495:0:99999:7: pcap:!!:12495:0:99999 : 7
Листинг 2. Содержимое файла /etc/shadow
Обычно первый пароль пользователю назначает администратор при создании учетной записи. Обновление паролей происходит в соответствии с выбранной политикой администрирования. В системе предусмотрена команда passwd, с помощью которой каждый пользователь может изменить свой пароль (если минимальный срок действия старого пароля еще не истек). Passwd - это одна из утилит, которая запускается обычным пользователем, а выполняется с правами администратора, поскольку ей приходится записывать новые данные в теневой файл /etc/shadow, доступ к которому разрешен только пользователю root. Такие исполняемые файлы имеют так называемый эффективный идентификатор SUID, речь о котором пойдет ниже. Программа passwd запрашивает у пользователя старый пароль, а затем требует ввести новый. На систему возлагается обязанность проверять вновь введенный пароль по словарю и по длине. Если введенный пароль окажется слишком простым, программа предупредит пользователя об опасности и запросит у него другой пароль.
Для модификации существующей учетной записи можно использовать команду usermod, которая имеет такой же синтаксис, что и команда useradd. В команде указываются только те опции, которые подлежат изменению.
Команда userdel позволяет администартору удалить учетную запись. До удаления учетной записи пользователь должен завершить сеанс работы. Обычное задание команды без опций:
userdel user_name - удаляет учетную запись пользователя, сохраняя его каталоги, которые могут содержать файлы, необходимые учреждению. При задании опции -г учетная запись удаляется вместе с каталогами и файлами пользователя.
