18c0693f

Аргументы библиотеки Cracklib


На самом деле, Cracklib поддерживает больше аргументов, чем просто retry=N. Аргумент retry всего лишь указывает программе passwd, сколько раз запрашивать у пользователя новый пароль. Успешное или неудачное завершение работы службы, которая требует модуля pam_cracklib.so, опирается на очки, заработанные пользователем. Пользователь может зарабатывать очки на основании содержания пароля. Аргументы модуля определяют количество очков зарабатываемых конкретной компонентой нового пароля.

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



Аргументы размещаются в последней колонке строки и разделяются пробелом. Например, наш администратор хочет, чтобы пользователи задавали для себя пароль из 15 символов, но при создании пароля давалось бы по два дополнительных очка за использование цифр и за использование "других" символов. В этом случае файл /etc/pam.d/passwd должен содержать следующие строки (символ \ обозначает продолжение на следующую строку).

password required /lib/security/pam_cracklib.so \ minlen=15 dcredit=2 ocredit=2 password required /lib/security/pam_unix.so nullok use_authtok md5

Обратите внимание, что администратор добавил аргумент md5 для библиотеки pam_unix.so. Это дает возможность шифровать пароль с использованием алгоритма MD5. Шифрование пароля с использованием алгоритма DES (Data Encryption Standard), используемое по умолчанию, не поддерживает шифрование пароля длиной более 8 символов. В соответствии с лимитом очков, будет весьма сложно набрать 15 очков, используя пароль, состоящий из 8 символов! Шифрование пароля с использованием алгоритма MD5 более эффективно за счет отсутствия ограничения по длине.

Теперь посмотрим некоторые правильные и неправильные пароли, проверенные с использованием нового файла /etc/pam.d/passwd, и соответствующие им количество очков. Помните, что параметры lcredit и ucredit по умолчанию равны 1:

Password 9 очков (длина 8 + 1 строчная буква). passw0rd! 12 очков (длина 9 + 1 строчная буква + 1 цифра + 1 другой символ). Passw0rd! 13 очков (длина 9 + 1 прописная буква + 1 строчная буква + 1 цифра + 1 другой символ). Pa$$w00rd 15 очков (длина 9 + 1 прописная буква + 1 строчная буква + 2 цифры + 2 других символа).

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