passwd

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

Синтаксис:

passwd [имя]

Поддерживаемые платформы:

Neutrino

Опции:

имя

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

Описание:

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

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

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

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

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

Примечание. Длина имени пользователя не должна превышать 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 заменяет пароль группы, т.к. пароли групп в Neutrino не поддерживаются.

/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

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

UIDRANGE=наименьшее-[наибольшее]

100-

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

GIDRANGE=наименьшее-[наибольшее]

100-

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

DUPDIROK

Отсутствует

Если это значение указано, утилита passwd позволяет выбрать в качестве основного каталога нового пользователя существующий каталог.

DUPUIDOK

Отсутствует

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

NOPASSWORDOK

NOPASSWORDOK

Если это значение указано, утилита passwd позволяет создавать учетные записи пользователей, которым для входа в систему не требуется пароль.

STRICTPASSWORD

Отсутствует

Если это значение указано, утилита passwd требует наличия в любом пароле, по меньшей мере, двух видов символов (например, буквенных символов и символов пунктуации).

INSISTANT=повторные_попытки

6

Число запросов подтверждения, отправляемых утилитой passwd пользователям, отличным от root, о создании учетной записи без пароля. Эта переменная игнорируется, если установлено значение для NOPASSWORDOK.

PROFILE=базовое_имя

.profile

Имя, используемое для файла инициализации командного интерпретатора в основном каталоге пользователя. В него копируется файл, заданный параметром DEFPROFILE (см. ниже), при создании новой учетной записи.

DEFPROFILE=имя_файла

/etc/skel/.profile

Путь к файлу инициализации командного интерпретатора по умолчанию, копируемого в файл PROFILE при создании новой учетной записи.

QNXCRYPT

Отсутствует

Если это значение указано, утилита passwd использует старый метод шифрования QNX 4 вместо метода шифрования UNIX по умолчанию.


Предупреждения:

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