web-dev-qa-db-ja.com

Centos 7-1でパスワード辞書チェックを無効にする方法

私がオンラインで見つけたものはすべて、cracklibのコメントアウトについて言及しています...しかし、それは私のシステム認証ファイルには存在しません。

ユーザーがパスワードを変更しているときにCentOSが行う辞書チェックを無効にしたいと思います。

これは私のシステム認証ファイルです:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retr$
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_a$
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet$
session     required      pam_unix.so
3
Calab

これを無効にすることから始めるべきではないという強い警告が表示されます:

辞書チェックisは、pam_pwqualityを介してcracklibによって処理されます。これは、/etc/pam.d/system-authファイルに存在するはずです。

Pam_pwqualityの現在のバージョンのマニュアルページには、辞書チェックを無効にするオプションが提案されています。

       dictcheck=N
           If nonzero, check whether the password (with possible
           modifications) matches a Word in a dictionary. Currently the
           dictionary check is performed using the cracklib library. The
           default is 1 which means that this check is enabled.

マニュアルページには、これを/etc/security/pwquality.confに追加するか、/etc/pam.d/system-authのオプションとして追加できると記載されています(システムツールによって上書きされる可能性があるため、可能な場合は変更しないでください)。

残念ながら、EL 7のRed Hatによって出荷されたpam_pwqualityのバージョンは、dictcheckオプションをサポートしていません。したがって、あなたの唯一の真の解決策は、pam_pwqualityをまったく使用しないことです。これをコメントアウトすると、パスワードの最小の長さや文字の複雑さなど、実行するotherチェックもすべて無効になることに注意してください。

2
Michael Hampton

これについて私が見つけた最良の解決策は、新しい空のcracklib辞書を作成することです。 dictcheck = 0オプションはCentOS 7では機能しないようです。

デフォルトのcracklib辞書は/usr/share/cracklib/の下にあります。新しい空のWordファイルを作成し、それから辞書を作成します。

touch /usr/share/words
create-cracklib-dict /usr/share/words

警告:これによりデフォルトの辞書が上書きされます。元に戻す場合は、/usr/share/cracklib/pw_dict.*ファイルをバックアップしてください。

0
jlyonsmith