Регистрация, удаление и блокирование учетных записей пользователей
Правами регистрации пользователей в системе обладает суперпользователь. Для добавления учетной записи пользователя применяется команда useradd. В качестве аргумента для этой команды должно быть указано имя пользова- теля (пример 17.1).
Пример 17.1. Регистрация пользователя |
# useradd user1
# id user1
uid=504(user1) gid=504(user1) groups=504(user1)
В примере 17.1 в системе был зарегистрирован новый пользователь — user1. Для него были созданы домашний каталог и приватная группа — user1. Приватная группа пользователей состоит из единственного пользователя. Приватная группа может и не создаваться — это зависит от настроек кон- кретной системы.
Регистрация пользователя приводит к появлению соответствующих записей в файлах /etc/passwd и /etc/shadow (пример 17.2).
Пример 17.2. Учетные записи в /etc/passwd и /etc/shadow |
# grep user1 /etc/passwd user1:x:504:504::/home/user1:/bin/bash
# grep user1 /etc/shadow user1:!!:14257::::::
Создание приватной группы и домашнего каталога пользователя характерно для Red Hat Linux и подобных дистрибутивов. В других GNU/Linux-системах требуется предварительно создать все группы, в которых должен участвовать пользователь, если они еще не зарегистрированы. Кроме этого, создание до- машнего каталога производится только при использовании опции -m коман- ды useradd, либо опции -d, указывающей путь к домашнему каталогу.
В Red Hat создание приватной группы можно запретить, задавая опцию -n. При этом для вновь зарегистрированных пользователей в системе будет ус- тановлена группа по умолчанию (см. далее) в качестве первичной группы.
Настройки для команды useradd находятся в файле /etc/default/useradd и мо- гут быть получены с помощью опции -D команды useradd (пример 17.3).
Пример 17.3. Настройки команды useradd по умолчанию |
# useradd -D GROUP=100
HOME=/home INACTIVE=-1
EXPIRE=
SHELL=/bin/bash SKEL=/etc/skel
Выведенная информация командой useradd -D говорит о следующем:
r GROUP=100 — GID для вновь регистрируемых пользователей — 100 (для Red Hat эта настройка игнорируется при создании приватной группы пользователя);
r HOME=/home — домашние каталоги пользователей создаются в каталоге
/home;
r INACTIVE=-1 — блокирование учетной записи пользователя при устарева- нии его пароля не произойдет;
r SHELL=/bin/bash — оболочка для вновь регистрируемых пользователей;
r SKEL=/etc/skel — каталог "скелета", из которого в домашние каталоги вновь регистрируемых пользователей копируются файлы профиля и на- строек.
Каталог /etc/skel обычно содержит файлы профиля для вновь регистрируе- мых пользователей и другие служебные файлы, которые копируются при ре- гистрации пользователя в его домашний каталог.
Часто используемые опции команды useradd:
r -s — указывает исполняемый файл оболочки по умолчанию;
r -d — путь к домашнему каталогу пользователя;
r -m — опция, указывающая на необходимость создать домашний каталог;
r -M — не создавать домашний каталог;
r -k — путь к альтернативному каталогу скелета;
r -u — назначить UID пользователю;
r -g — назначить GID (первичную группу) пользователю;
r -G — список групп пользователя (через запятые);
r -e — календарная дата, после которой учетная запись будет заблокирована;
r -f — количество дней, которое должно пройти после срока устаревания пароля до блокировки учетной записи.
Приведенная в примере 17.4 команда регистрирует пользователя без созда- ния для него домашнего каталога (опция -M) с первичной группой users (оп- ция -g). Вход в сеанс запрещен, т. к. в качестве оболочки указан файл
/sbin/nologin. Учетная запись пользователя будет заблокирована 23 февраля
2011 г. (опция -e).
Пример 17.4. Учетная запись с ограничением срока действия |
# useradd -M -g users -s /sbin/nologin -e 2011-02-23 classuser
# id classuser
uid=505(classuser) gid=100(users) groups=100(users)
# grep classuser /etc/shadow classuser:!!:14616:::::15028:
Последняя команда примера демонстрирует запись в файле теневых паро- лей для пользователя classuser. Восьмое поле записи содержит число дней с 1 января 1970 г. до дня, когда учетная запись пользователя будет забло- кирована.
Если пользователь не имеет право входить в сеанс, то в качестве оболочки должен быть установлен один из следующих вариантов:
r /bin/false — системная команда, всегда возвращающая код ошибки;
r /dev/null — специальный файл-поглотитель;
r /sbin/nologin — системная команда, возвращающая при запуске код ошибки и сообщение о невозможности входа в сеанс.
Часто возникает необходимость произвести некоторые изменения в учетной записи уже зарегистрированного пользователя, например, поменять ему обо- лочку по умолчанию. Для этого предназначена команда usermod. Далее при- веден пример 17.5 смены оболочки по умолчанию для пользователя.
Пример 17.5. Смена оболочки в учетной записи |
# usermod -s /bin/false classuser
Большая часть опций команд useradd и usermod совпадает. Так, например, для добавления новой группы, в которой участвует пользователь, можно ис- пользовать команду, приведенную в примере 17.6.
Пример 17.6. Добавление пользователя в группу |
# usermod -G "`id -G classuser | tr ' ' ','`,uucp" classuser
# id classuser
uid=505(classuser) gid=100(users) groups=100(users),14(uucp)
Команда id -G выводит список групп, в которые входит пользователь, разде- ленных пробелами. Далее пробелы заменяются запятыми с помощью коман- ды tr, т. к. список групп для команды usermod должен быть задан через запятую. К списку групп, в которых пользователь уже принимает участие, добавляется список новых групп, а далее полученный список подставляется в командную строку usermod с помощью командной подстановки.
Используя команду usermod, можно также указать для пользователя его но- вое имя с помощью опции -l. А опции -L и -U позволяют, соответственно, блокировать и разблокировать возможность входа в сеанс для данного поль- зователя.
Удалить учетную запись пользователя можно командой userdel (пример 17.7).
Пример 17.7. Удаление пользователя |
# userdel classuser
# id classuser
id: classuser: No such user
В этом примере учетная запись для пользователя classuser была удалена.
Перед удалением учетной записи пользователя необходимо решить, что де- лать с файлами пользователя, если таковые в системе имеются. Сама команда userdel удаления файлов в домашнем каталоге пользователя не производит. Поэтому все файлы пользователя, учетная запись которого подлежит удале- нию, должны быть найдены и либо удалены, либо помещены в архив, либо переданы другому пользователю.
Дата добавления: 2015-06-12; просмотров: 988;