passwd(1)

НАЗВАНИЕ
passwd - изменяет пароль пользователя

СИНТАКСИС

passwd [параметры] [LOGIN]

ОПИСАНИЕ

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

  Изменение пароля

Сначала пользователя попросят ввести старый пароль, если он был. Этот пароль зашифровывается и сравнивается с имеющимся. У пользователя есть только одна попытка ввести правильный пароль. Для суперпользователя этот шаг пропускается, для того чтобы можно было изменить забытый пароль.

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

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

Затем пароль тестируется на сложность подбора. Согласно общим принципам, пароли должны быть длиной от 6 до 8 символов и включать один или более символов каждого типа:

    • строчные буквы

    • цифры от 0 до 9

    • знаки пунктуации

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

  Выбор пароля

Безопасность пароля зависит от стойкости алгоритма шифрования и размера пространства ключа. В UNIX системах метод шифрования основан на алгоритме NBS DES и очень безопасен. Размер пространства ключа зависит от степени произвольности выбранного пароля.

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

You can find advices on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength

ПАРАМЕТРЫ

Параметры команды passwd:

-a, --all
    Этот параметр можно использовать только вместе с -S для вывода статуса всех пользователей.

-d, --delete
    Удалить пароль пользователя (сделать его пустым). Это быстрый способ заблокировать пароль учётной записи. Это делает указанную учётную запись беспарольной.

-e, --expire
    Немедленно сделать пароль устаревшим. В результате это заставит пользователя изменить пароль при следующем входе в систему.

-h, --help
    Показать краткую справку и закончить работу.

-i, --inactiveДНЕЙ
    Этот параметр используется для блокировки учётной записи по прошествии заданного числа дней после устаревания пароля. То есть, если пароль устарел и прошло более указанных ДНЕЙ, то пользователь больше не сможет использовать данную учётную запись.

-k, --keep-tokens
    Указывает, что изменение пароля нужно выполнить только для устаревших ключей аутентификации (паролей). Пользователи хотят оставить свои непросроченные ключи нетронутыми.

-l, --lock
    Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value, and by setting the account expiry field to 1.

-m, --mindaysМИН_ДНЕЙ
    Задать минимальное количество дней между сменой пароля. Нулевое значение этого поля указывает на то, что пользователь может менять свой пароль когда захочет.

-q, --quiet
    Не выводить сообщений при работе.

-r, --repositoryРЕПОЗИТОРИЙ
    Изменить пароль в РЕПОЗИТОРИИ.

-S, --status
    Показать состояние учётной записи. Информация о состоянии содержит 7 полей. Первое поле содержит имя учётной записи. Второе поле указывает, заблокирована ли учётная запись (L), она без пароля (NP) или у неё есть рабочий пароль (P). Третье поле хранит дату последнего изменения пароля. В следующих четырёх полях хранятся минимальный срок, максимальный срок, период выдачи предупреждения и период неактивности пароля. Эти сроки измеряются в днях.

-u, --unlock
    Unlock the named account. This option re-enables an account by changing the password back to its previous value (to value before using -l option), and by resetting the account expiry field.

-w, --warndaysПРЕД_ДНЕЙ
    Установить число дней выдачи предупреждения, перед тем как потребуется смена пароля. В параметре ПРЕД_ДНЕЙ указывается число дней перед тем как пароль устареет, в течении которых пользователю будут напоминать, что пароль скоро устареет.

-x, --maxdaysМАКС_ДНЕЙ
    Установить максимальное количество дней, в течении которых пароль остаётся рабочим. После МАКС_ДНЕЙ пароль нужно изменить.

ПРЕДОСТЕРЕЖЕНИЯ

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

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

ENCRYPT_METHOD (string)
    This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line).

    It can take one of these values:

        • DES (default)

        • MD5

        • SHA256

        • SHA512

        Note: this parameter overrides the MD5_CRYPT_ENAB variable.

        Note: if you use PAM, it is recommended to set this variable consistently with the PAM modules configuration.

MD5_CRYPT_ENAB (boolean)
    Indicate if passwords must be encrypted using the MD5-based algorithm. If set to yes, new passwords will be encrypted using the MD5-based algorithm compatible with the one used by recent releases of FreeBSD. It supports passwords of unlimited length and longer salt strings. Set to no if you need to copy encrypted passwords to other systems which don't understand the new algorithm. Default is no.

    This variable is superceded by the ENCRYPT_METHOD variable or by any command line option used to configure the encryption algorithm.

    This variable is deprecated. You should use ENCRYPT_METHOD.

    Note: if you use PAM, it is recommended to set this variable consistently with the PAM modules configuration.

OBSCURE_CHECKS_ENAB (boolean)
    Enable additional checks upon password changes.

PASS_ALWAYS_WARN (boolean)
    Warn about weak passwords (but still allow them) if you are root.

PASS_CHANGE_TRIES (number)
    Maximum number of attempts to change password if rejected (too easy).

PASS_MAX_LEN (number), PASS_MIN_LEN (number)
    Number of significant characters in the password for crypt(). PASS_MAX_LEN is 8 by default. Don't change unless your crypt() is better. This is ignored if MD5_CRYPT_ENAB set to yes.

SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number)
    When ENCRYPT_METHOD is set to SHA256 or SHA512, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line).

    With a lot of rounds, it is more difficult to brute forcing the password. But note also that more CPU resources will be needed to authenticate users.

    If not specified, the libc will choose the default number of rounds (5000).

    The values must be inside the 1000-999999999 range.

    If only one of the SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS values is set, then this value will be used.

    If SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, the highest value will be used.

ФАЙЛЫ

/etc/passwd
    содержит информацию о пользователях

/etc/shadow
    содержит защищаемую информацию о пользователях

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

Программа passwd завершая работу, возвращает следующие значения:

0
    успешное выполнение

1
    доступ запрещён

2
    недопустимая комбинация параметров

3
    неожиданная ошибка при работе, ничего не сделано

4
    неожиданная ошибка при работе, отсутствует файл passwd

5
    файл passwd занят другой программой, попробуйте ещё раз

6
    недопустимое значение параметра

СМОТРИТЕ ТАКЖЕ

group(5), passwd(5), shadow(5).