passwd

Изменение пароля входа в систему или создание новых имен пользователей (UNIX)

Синтаксис:

passwd [имя]

Опции:

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

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита passwd используется для изменения пароля входа в систему; кроме того, с ее помощью суперпользователь (root) или администратор безопасности (т.е. пользователь, входящий в группу admksz, gid=10) может создавать новые учетные записи пользователей.


Note: Для этой утилиты в полномочиях пользователя необходимо установить бит setuid ("set user ID" (установить идентификатор пользователя)). В случае использования утилит mkefs, mketfs или mkifs на хосте Windows для добавления этой утилиты в образ необходимо задать атрибут perms для явного определения полномочий, а также атрибуты uid и gid для корректной настройки принадлежности.

При изменении пароля утилита passwd вначале запрашивает старый пароль, а затем новый пароль. Новый пароль требуется ввести дважды (во избежание опечаток при вводе). Изменение пароля доступно только его владельцу и суперпользователю.

Для создания новой учетной записи пользователя введите следующее:

passwd новое_имя_пользователя


Note: Длина имени пользователя не должна превышать 14 символов, в противном случае пользователь не сможет войти в систему. Также длина пароля не должна быть менее восьми символов, утилита прервет процедуру создания пользователя при задании пароля меньшей длины.

файл passwd

При создании новой учетной записи пользователя утилита passwd запрашивает различную информацию, в том числе список групп, основной каталог и командный интерпретатор пользователя. Значения этих параметров по умолчанию хранятся в файле /etc/default/passwd (см. раздел "Файлы" далее), который можно изменить и привести поведение утилиты passwd в соответствие с конкретными требованиями.

Файл /etc/passwd содержит следующие поля, разделенные двоеточиями:

имя_пользователя:наличие_пароля:идентификатор_пользователя:идентификатор_группы:доп_информация:основной_каталог:первая_команда

наличие_пароля
Если поле наличие_пароля содержит символ x, то пароль для данного пользователя задан. Если символы в этом поле отсутствуют, то пароль не был задан. Использование других символов в этом поле не разрешено и может привести к непредвиденным побочным эффектам для пользователя.
идентификатор_группы
Поле идентификатор_группы содержит номер группы. Пользователь может войти в систему с параметром идентификатор_группы, приведенным в соответствующем поле файла /etc/passwd, даже если этот пользователь не отмечен как член этой группы в файле /etc/group.
доп_информация
Поле доп_информация содержит дополнительную информацию, которая оформлена в подполя, разделенные запятыми. Обычно в первом подполе содержится "настоящее" имя пользователя. Эта информация используются некоторыми утилитами.
первая_команда Поле первая_команда содержит исходную команду, которая выполняется после успешного входа пользователя в систему. Аргументы этой команды должны быть отделены от нее символами табуляции или пробела. Эта команда порождается напрямую (а не выполняется командным интерпретатором), поэтому раскрытие командного интерпретатора не производится. Указать аргументы командной строки, содержащие символы пробела и табуляции, в данном случае невозможно. (Экранирование не поддерживается.)

Если первая_команда не указана, используется /bin/sh.

Файлы:

/etc/.pwlock
Этот файл создается утилитой passwd; его наличие указывает другим экземплярам passwd на то, что в данный момент выполняется изменение файла паролей. По окончании работы утилиты passwd этот файл удаляется. См. "Предупреждения" далее.
/etc/group
В этом файле определяются известные группы системы. имена групп сопоставляются с численным идентификатором идентификатор и списком имен имя_пользователя, входящими в эту группу.

Записи в этом файле имеют в следующий формат:
имя_группы:x:идентификатор_группы:пользователь[,пользователь]...

Символ x заменяет пароль группы, т.к. пароли групп в не поддерживаются.
/etc/passwd
Содержит список учетных записей пользователей. Записи в этом файле имеют следующий формат:
имя_пользователя:наличие_пароля:идентификатор_пользователя:идентификатор_группы:доп_информация:основной_каталог:первая_команда
/etc/shadow
Содержит зашифрованные версии реальных паролей для учетных записей пользователей. В файле /etc/passwd эти пароли не хранятся.
/etc/opasswd
/etc/oshadow
Когда утилита passwd изменяет файл паролей, она вначале блокирует этот файл с помощью файла /etc/.pwlock, затем копирует содержимое текущих файлов /etc/passwd и /etc/shadow в файлы /etc/opasswd и /etc/oshadow соответственно. Поэтому в случае уничтожения утилиты passwd до завершения записи в обновленный файл, файлы паролей можно восстановить из этих резервных версий. См. "Предупреждения" далее.
/etc/default/passwd
Содержит параметры, используемые утилитой passwd при создании новой учетной записи пользователя. Этот файл может быть изменен системным администратором. В нем содержатся следующие параметры, для которых указаны значения по умолчанию:
Параметр Значение по умолчанию Описание
BASEDIR=имя_каталога /home Базовый каталог, в котором создаются каталоги пользователей.
SHELL=имя_программы /bin/sh Командный интерпретатор, указываемый в поле начального командного интерпретатора в новых записях паролей.
GIDRANGE=наименьшее-[наибольшее] 100- Действительный диапазон значений для идентификаторов групп. Как и в случае UIDRANGE, при отсутствии верхней границы значение наибольшее можно исключить.
INSISTANT=повторные_попытки 6 Число запросов подтверждения, отправляемых утилитой passwd о создании учетной записи с паролем менее 8-ми символов.
PROFILE=базовое_имя .profile Имя, используемое для файла инициализации командного интерпретатора в основном каталоге пользователя. В него копируется файл, заданный параметром DEFPROFILE (см. ниже), при создании новой учетной записи.
DEFPROFILE=имя_файла /etc/skel/.profile Путь к файлу инициализации командного интерпретатора по умолчанию, копируемого в файл PROFILE при создании новой учетной записи.

Предостережения:

Во время обновления базы данных паролей утилита passwd создает файл /etc/.pwlock. Если по какой-то причине произошел полный отказ системы в момент, когда этот файл существует, то запустить утилиту passwd можно только после удаления этого файла системным администратором. Если в результате отказа системы файлы паролей приведены в противоречивое состояние, системному администратору также следует скопировать файл /etc/oshadow в /etc/shadow и файл /etc/opasswd в /etc/passwd.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», UNIX

Тематические ссылки:

login, su

crypt()




Предыдущий раздел: Утилиты