(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux/RHEL】パスワードの文字数制限を変えた場合の既存ユーザへの影響

スポンサーリンク

はじめに

Red Hat Enterprise Linux Serverではパスワードの最小文字数をminlenで指定できます。
本記事では同設定を変更した際にその制限に抵触するユーザの挙動を実機で確認しました。

コマンド実行環境
  • Red Hat Enterprise Linux Server 7.5 (Maipo)

パスワードポリシーの変更

パスワードの最小文字数はPAMのminlenで設定します。以下に読み込む共有ライブラリ等が記載されていて

# cat /etc/pam.d/system-auth
...
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=8
password    required      pam_deny.so
...

設定ファイルは以下にあります。

# cat /etc/security/pwquality.conf
...
minlen = 8
dcredit = -1
ucredit = 0
lcredit = -1
ocredit = 0

上記の場合は最小のパスワードは8なので8桁のパスワードが許容されています。

この値を以下のように変更すると設定は即時反映されます。

minlen = 9

パスワード8桁の既存ユーザでログインを試みる

問題なくログインできます。ログイン後、パスワードの変更も求められません。

# ssh testuser@testserver
testuser@testserver's password:
$ 

但し、パスワード変更を試みると8桁で設定すると以下のようにエラーとなります。

$ passwd
Changing password for user testuser
(current) UNIX password:
New password:
BAD PASSWORD: The password is shorter than 9 characters

よって次回ログイン時に強制的にパスワードを変更させるために以下コマンドを実施して期限切れにします。

# chage -d 0 testuser

そうしておけばログイン時に

# ssh testuser@testserver
testuser@testserver's password:
You are required to change your password immediately (root enforced)
...
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user testuser
...

終わりに

パスワードのポリシーを変更した際、それが反映されるのは次回パスワード変更時となります。
よって「制限を超えたことで既存ユーザがログインできなくなることはない」というポイントは覚えておくと役立つと思います。

以上、ご参考になれば幸いです。