PASSWD(5) | Руководство программиста Linux | PASSWD(5) |
passwd - файл паролей
В текстовом файле /etc/passwd содержится список учётных записей пользователей в системе. Файл должен быть доступен для чтения всем пользователям (многие утилиты, такие как ls(1), используют его, чтобы преобразовывать идентификаторы пользователей в их имена), но доступ на запись должен предоставляться только суперпользователю.
В старые добрые времена не существовало большой проблемы, связанной с доступностью этого файла на чтение для всех. Любой мог прочитать зашифрованные пароли, но мощности компьютеров не хватало для подбора грамотно выбранных паролей, а кроме того, наивно предполагалось, что сеть используется дружественным сообществом пользователей. В наши дни, многие пользователи стали использовать механизм теневых паролей, где файл /etc/passwd содержит 'x' в поле пароля, а зашифрованные пароли хранятся в файле /etc/shadow, который доступен на чтение только суперпользователю.
Если значение шифрованного пароля, в /etc/passwd или /etc/shadow, равно пустой строке, то вход будет разрешён без запроса пароля. Заметим, что данной свойство может быть специально отключено в приложениях или может настраиваться (например, с помощью аргументов «nullok» или «nonull»модуля pam_unix.so).
Если значение шифрованного пароля в /etc/passwd равно «*NP*» (без кавычек), то теневая запись запрашивается с сервера NIS+.
Вне зависимости от того, применяется ли механизм теневых паролей или нет, многие системные администраторы ставят звёздочку (*) в поле зашифрованного пароля, чтобы быть уверенными, что данный пользователь не пройдёт аутентификацию, используя какой-либо пароль (но смотри раздел ЗАМЕЧАНИЯ далее).
Если вы создаёте новую учётную запись, сперва в поле пароля помещается звёздочка (*), а затем с помощью команды passwd(1) вы можете задать пароль.
Каждая строка файла состоит из семи полей, разделённых двоеточием и описывает одного пользователя:
name:password:UID:GID:GECOS:directory:shell
Поля:
/etc/passwd
Если вы хотите создать группу пользователя, то такая группа должна существовать в файле /etc/group, иначе группа не будет существовать.
Если вместо зашифрованного пароля установлена звёздочка (*), то пользователь не сможет войти в систему, используя команду login(1), но сможет войти в систему, используя rlogin(1), запустить существующие процессы и инициировать новые, используя rsh(1), cron(8), at(1) или почтовые фильтры и т.д. Попытка заблокировать учётную запись простым изменением поля shell, даст тот же результат и в дополнении разрешит использование su(1).
chfn(1), chsh(1), login(1), passwd(1), su(1), crypt(3), getpwent(3), getpwnam(3), group(5), shadow(5), vipw(8)
2018-04-30 | Linux |