目次

74.アクセス管理-pam.d-password-auth

/etc/pam.d/system-authと同様の内容になる。

/etc/pam.d/password-auth設定

#変更
vi /etc/pam.d/password-auth

/etc/pam.d/password-auth設定詳細

①11-14行目のハイライト行を追記する。
パスワードを3回誤った場合、10分間ロックアウトする意味の記述。

②23行目のハイライト行を変更する。
「password requisite」を「try_first_pass local_users_only retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=1 enforce_for_root」という記述に変更する。
それぞれの意味は以下の通り。

項目 説明
tryfirstpass あるサービスに対するPAM認証が2行存在する場合にtryfirstpassを用いれば、
PAMが処理してくれるおかげで入力は1回で済む。
localusersonly /etc/passwdに含まれるユーザーのみ対象とする。
retry パスワード変更時の試行回数を指定
minlen パスワード全体でN文字以上でなければならない
dcredit パスワードに数字が最低含まれていなければならない数を指定。
minlenと併用の場合は-をつける
ucredit パスワードに大文字の英字が最低含まれていなければならない数を指定。
minlenと併用の場合は-をつける
lcredit パスワードに小文字の英字が最低含まれていなければならない数を指定。
minlenと併用の場合は-をつける
ocredit パスワードに記号が最低含まれていなければならない数を指定。
minlenと併用の場合は-をつける
enforceforroot rootでパスワード変更する場合も上記の条件を満たさないと変更できないようにする。

③24行目のハイライト行を変更する。
password-authに必要かは疑問
「remember=5」を追加している。
過去5回分に使用したパスワードの再使用を禁止するといった意味の記述。

# Generated by authselect on Sat Oct 31 05:07:48 2020
# Do not modify this file manually.

auth        required                                     pam_env.so
auth        required                                     pam_faildelay.so delay=2000000
auth        [default=1 ignore=ignore success=ok]         pam_usertype.so isregular
auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
auth        sufficient                                   pam_unix.so nullok try_first_pass
auth        [default=1 ignore=ignore success=ok]         pam_usertype.so isregular
auth        sufficient                                   pam_sss.so forward_pass
auth        required                                     pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth        [success=1 default=bad]                      pam_unix.so
auth        [default=die]                                pam_faillock.so authfail audit deny=3 unlock_time=600
auth        sufficient                                   pam_faillock.so authsucc audit deny=3 unlock_time=600
auth        required                                     pam_deny.so

account     required                                     pam_unix.so
account     sufficient                                   pam_localuser.so
account     sufficient                                   pam_usertype.so issystem
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required                                     pam_permit.so

password    requisite                                    pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=1 enforce_for_root
password    sufficient                                   pam_unix.so sha512 shadow nullok remember=5 try_first_pass use_authtok
password    sufficient                                   pam_sss.so use_authtok
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 use_uid
session     required                                     pam_unix.so
session     optional                                     pam_sss.so

http://g-network.boo.jp/wiki/2018/07/post-1364/
https://linux.just4fun.biz/?CentOS/パスワードの長さや文字などの制限事項を設定する方法

初期値

# Generated by authselect on Sat Oct 31 05:07:48 2020
# Do not modify this file manually.

auth        required                                     pam_env.so
auth        required                                     pam_faildelay.so delay=2000000
auth        [default=1 ignore=ignore success=ok]         pam_usertype.so isregular
auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
auth        sufficient                                   pam_unix.so nullok try_first_pass
auth        [default=1 ignore=ignore success=ok]         pam_usertype.so isregular
auth        sufficient                                   pam_sss.so forward_pass
auth        required                                     pam_deny.so

account     required                                     pam_unix.so
account     sufficient                                   pam_localuser.so
account     sufficient                                   pam_usertype.so issystem
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required                                     pam_permit.so

password    requisite                                    pam_pwquality.so try_first_pass local_users_only
password    sufficient                                   pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient                                   pam_sss.so use_authtok
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 use_uid
session     required                                     pam_unix.so
session     optional                                     pam_sss.so