Руководство FreeBSD
Пред. | Глава 13. Пользователи и основы управления учетными записями | След.

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

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

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

## 13.6.1. `adduser`

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!
    #

> Замечание: Пароль, который вы вводите, не отображается, ''звездочки'' при вводе пароля также не отображаются. Убедитесь, что вы не ошиблись при вводе пароля.

## 13.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) не может использоваться для удаления учетной записи суперпользователя, поскольку это почти всегда означает разрушение системы.

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

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

## 13.6.3. `chpass`

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:

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

Пример 13-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 будет рассмотрен в Гл. 25.

## 13.6.4. `passwd`

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 работает с обеими командами.

## 13.6.5. `pw`

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

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

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

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