В среде UNIX® существуют различные команды для работы с учетными записями пользователей. Наиболее часто используемые команды приведены в таблице, ниже находятся более детальные примеры их использования.
Команда | Краткое описание |
---|---|
adduser(8) | Рекомендуемое приложение командной строки для добавления новых пользователей. |
rmuser(8) | Рекомендуемое приложение командной строки для удаления пользователей. |
chpass(1) | Гибкий инструмент для изменения информации в базе данных пользователей. |
passwd(1) | Простой инструмент командной строки для изменения паролей пользователей. |
pw(8) | Мощный и гибкий инструмент для изменения любой информации, связанной с учетными записями пользователей. |
adduser(8) это простая программа для добавления новых пользователей. Она создает записи в системных файлах passwd и group. Она также создает домашний каталог для нового пользователя, копируя файлы настройки по умолчанию (''dotfiles'', файлы имя который начинается с символа .) из /usr/share/skel и опционально может отправлять новому пользователю приветственное сообщение.
Пример 13-1. Добавление пользователя в FreeBSD
# adduser Username: jru Full name: J. Random User Uid (Leave empty for default): Login group [jru]: Login group is jru. Invite jru into other groups? []: wheel Login class [default]: Shell (sh csh tcsh zsh nologin) [sh]: zsh Home directory [/home/jru]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : jru Password : **** Full Name : J. Random User Uid : 1001 Class : Groups : jru wheel Home : /home/jru Shell : /usr/local/bin/zsh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (jru) to the user database. Add another user? (yes/no): no Goodbye! #
Замечание: Пароль, который вы вводите, не отображается, ''звездочки'' при вводе пароля также не отображаются. Убедитесь, что вы не ошиблись при вводе пароля.
Для полного удаления пользователя из системы вы можете использовать rmuser(8). Эта программа выполняет следующие действия:
Удаление записи пользователя из crontab(1) (если она присутствует).
Удаляет задачи at(1), принадлежащие пользователю.
Уничтожает все процессы, принадлежащие пользователю.
Удаляет пользователя из локального файла паролей.
Удаляет домашний каталог пользователя (если он принадлежит пользователю).
Удаляет принадлежащую пользователю входящую почту из /var/mail.
Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например /tmp.
Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в /etc/group.
Замечание: Если после этого удаления группа остается пустой и имя группы совпадает с именем пользователя, она удаляется; Это необходимо для удаления пользовательских уникальных групп, создаваемых adduser(8).
rmuser(8) не может использоваться для удаления учетной записи суперпользователя, поскольку это почти всегда означает разрушение системы.
По умолчанию используется интерактивный режим, программа пытается убедиться, что вы уверены в своих действиях.
Пример 13-2. Интерактивное удаление учетной записи с помощью rmuser
# rmuser jru Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh Is this the entry you wish to remove? y Remove user's home directory (/home/jru)? y Updating password file, updating databases, done. Updating group file: trusted (removing group jru -- personal group is empty) done. Removing user's incoming mail file /var/mail/jru: done. Removing files belonging to jru from /tmp: done. Removing files belonging to jru from /var/tmp: done. Removing files belonging to jru from /var/tmp/vi.recover: done. #
chpass(1) изменяет информацию в базе данных пользователей: пароли, оболочки, персональную информацию.
Только системные администраторы с правами суперпользователя могут изменять информацию и пароли других пользователей с помощью chpass(1).
При запуске без параметров (кроме опционального имени пользователя), chpass(1) вызывает редактор, содержащий информацию о пользователе. Когда пользователь выходит из редактора, база данных пользователей обновляется этой информацией.
Замечание: После выхода из редактора будет запрошен пароль (если вы не суперпользователь).
Пример 13-3. Интерактивная работа с chpass суперпользователя
#Changing user database information for jru. Login: jru Password: * Uid [#]: 1001 Gid [# or name]: 1001 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
Обычные пользователи могут изменять лишь небольшую часть этой информации, и только для своей учетной записи.
passwd(1) это обычный способ изменения собственного пароля пользователя, или пароля другого пользователя суперпользователем.
Замечание: Для предотвращения случайного или неавторизованного изменения, перед установкой нового пароля необходимо ввести старый.
Пример 13-5. Изменение пароля
% passwd Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
Пример 13-6. Изменение пароля другого пользователя суперпользователем
# passwd jru Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done
Замечание: Как и с chpass(1), yppasswd(1) это всего лишь ссылка на passwd(1), так что NIS работает с обеими командами.
pw(8) это утилита командной строки для создания, удаления, модифицирования и отображения пользователей и групп. Она функционирует как внешний интерфейс к системным файлам пользователей и групп. У pw(8) очень мощный набор параметров командной строки, что делает это программу подходящей для использования в shell скриптах, но новым пользователям она может показаться более сложной, чем другие представленные здесь команды.
Пред. | Начало | След. |
Учетные записи пользователей | Уровень выше | Ограничение пользователей |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.