14.6. Изменение учетных записей
Пред. | Глава 14. Пользователи и основы управления учетными записями | След.

## 14.6. Изменение учетных записей

В среде UNIX® существуют различные команды для работы с учетными записями пользователей. Наиболее часто используемые команды приведены в таблице, ниже находятся более детальные примеры их использования.

Команда | Краткое описание
--- | ---
adduser(8) | Рекомендуемое приложение командной строки для добавления новых пользователей.
rmuser(8) | Рекомендуемое приложение командной строки для удаления пользователей.
chpass(1) | Гибкий инструмент для изменения информации в базе данных пользователей.
passwd(1) | Простой инструмент командной строки для изменения паролей пользователей.
pw(8) | Мощный и гибкий инструмент для изменения любой информации, связанной с учетными записями пользователей.

### 14.6.1. `adduser`

adduser(8) это простая программа для добавления новых пользователей. Она создает записи в системных файлах `passwd` и `group`. Она также создает домашний каталог для нового пользователя, копируя файлы настройки по умолчанию («dotfiles», файлы имя который начинается с символа `.`) из `/usr/share/skel` и опционально может отправлять новому пользователю приветственное сообщение.

Пример 14.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]: Home directory permissions (Leave empty for default): 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! `#`

### Примечание:

Пароль, который вы вводите, не отображается, «звездочки» при вводе пароля также не отображаются. Убедитесь, что вы не ошиблись при вводе пароля.

### 14.6.2. `rmuser`

Для полного удаления пользователя из системы вы можете использовать rmuser(8). Эта программа выполняет следующие действия:

1. Удаление записи пользователя из crontab(1) (если она присутствует).

2. Удаляет задачи at(1), принадлежащие пользователю.

3. Уничтожает все процессы, принадлежащие пользователю.

4. Удаляет пользователя из локального файла паролей.

5. Удаляет домашний каталог пользователя (если он принадлежит пользователю).

6. Удаляет принадлежащую пользователю входящую почту из `/var/mail`.

7. Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например `/tmp`.

8. Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в `/etc/group`.

   ### Примечание:

   Если после этого удаления группа остается пустой и имя группы совпадает с именем пользователя, она удаляется; Это необходимо для удаления пользовательских уникальных групп, создаваемых adduser(8).

rmuser(8) не может использоваться для удаления учетной записи суперпользователя, поскольку это почти всегда означает разрушение системы.

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

Пример 14.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. `#`

### 14.6.3. `chpass`

chpass(1) изменяет информацию в базе данных пользователей: пароли, оболочки, персональную информацию.

Только системные администраторы с правами суперпользователя могут изменять информацию и пароли других пользователей с помощью chpass(1).

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

### Примечание:

После выхода из редактора будет запрошен пароль (если вы не суперпользователь).

Пример 14.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:

Обычные пользователи могут изменять лишь небольшую часть этой информации, и только для своей учетной записи.

Пример 14.4. Интерактивная работа с `chpass` обычного пользователя
#Changing user database information for jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:

### Примечание:

chfn(1) и chsh(1) это всего лишь ссылки на chpass(1), как и ypchpass(1), ypchfn(1) и ypchsh(1). NIS поддерживается автоматически, так что указание `yp` перед командой не обязательно. Если это непонятно, не беспокойтесь, NIS будет рассмотрен в Глава 27, Сетевые серверы.

### 14.6.4. `passwd`

passwd(1) это обычный способ изменения собственного пароля пользователя, или пароля другого пользователя суперпользователем.

### Примечание:

Для предотвращения случайного или неавторизованного изменения, перед установкой нового пароля необходимо ввести старый.

Пример 14.5. Изменение пароля
`%` `passwd` Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
Пример 14.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 работает с обеими командами.

### 14.6.5. `pw`

pw(8) это утилита командной строки для создания, удаления, модифицирования и отображения пользователей и групп. Она функционирует как внешний интерфейс к системным файлам пользователей и групп. У pw(8) очень мощный набор параметров командной строки, что делает это программу подходящей для использования в shell скриптах, но новым пользователям она может показаться более сложной, чем другие представленные здесь команды.

Пред. | Наверх | След.
14.5. Учетные записи пользователей | Начало | 14.7. Ограничение пользователей

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.