PAMパスワード 'minlen'設定が適用されない

PAMパスワード 'minlen'設定が適用されない

Ubuntu 18.04をインストールし、/etc/security/pwquality.conf次の設定を手動で修正しました。

minlen = 14
minclass = 4 

#行の先頭ではありません。)

ただし、新しいユーザーを追加し、新しいパスワードプロンプトに「123」と入力すると、次のメッセージが表示されます。

無効なパスワード:パスワードが14文字未満です。
新しいパスワードを再入力してください。

問題は、「123」を再入力すると、次のように表示されることです。

パスワードが使用されました。

passwd:パスワードが正常に更新されました。

したがって、新しいパスワードを「123」に設定し、そのminlen設定を上書きできます。

設定が無視されるのはなぜですか?

編集する:

/etc/security/pwquality.conf を編集しました:

# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 1
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
minlen = 14
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 0
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 0
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 0
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 0
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
minclass = 4
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0
#
# The maximum number of allowed consecutive characters of the same class in the
# new password.
# The check is disabled if the value is 0.
# maxclassrepeat = 0
#
# Whether to check for the words from the passwd entry GECOS string of the user.
# The check is enabled if the value is not 0.
# gecoscheck = 0
#
# Whether to check for the words from the cracklib dictionary.
# The check is enabled if the value is not 0.
# dictcheck = 1
#
# Whether to check if it contains the user name in some form.
# The check is enabled if the value is not 0.
# usercheck = 1
#
# Whether the check is enforced by the PAM module and possibly other
# applications.
# The new password is rejected if it fails the check and the value is not 0.
enforcing = 1
#
# Path to the cracklib dictionaries. Default is to use the cracklib default.
# dictpath =
enforce_for_root

(enforcing_for_root行を追加し、enforcing = 1行のコメントを削除してみてください)。それでも同じ問題があります

答え1

ルートシェルにいてユーザーを作成した後にパスワードを設定した場合、設定を適用する/etc/security/pwquality.confには下部近くの行のコメントを外す必要があります。

enforce_for_root

コメントアウトすると、これらの設定は一般ユーザーにのみ適用されます。これがなくてもそのユーザーにパスワードを変更しようとすると、パスワードが14文字未満で他の要件を満たしていないというメッセージで失敗します。あなたの場合は、上記の行のコメントを外してください。

関連情報