はじめに
Red Hat Enterprise Linux Serverにてrootユーザのパスワードを連続で間違えたことによるロックが起こりました。
せっかくなのでその際の挙動をメモしておきます。
コマンド実行環境
- Red Hat Enterprise Linux Server 7.5 (Maipo)
前提
アカウントのロックが起きるためには/etc/pam.d
配下にあるpassword-authとsystem-authに
auth required pam_faillock.so preauth silent audit even_deny_root deny=5 unlock_time=3600 ... auth [default=die] pam_faillock.so authfail audit even_deny_root deny=5 unlock_time=3600 ... account required pam_faillock.so
という文言があるはずです。
数値の意味は記載の通りで、rootユーザでさえ5回パスワードに間違うと3600秒(=1時間)ロックがかかります。
実際にロックがかかった場合
パスワードが間違えば/var/log/secure
のファイルに以下のログが書き込まれます。
... Failed password for root from 10.10.10.10 port 57158 ssh2
そしてロックがかかると以下メッセージが同ログに書き込まれます。
... pam_faillock(sshd:auth): Consecutive login failures for user root account temporarily locked ... Failed password for root from 10.10.10.10 port 57158 ssh2 ... error: maximum authentication attempts exceeded for root from 10.10.10.10 port 57158 ssh2
そのような場合に一般ユーザからrootにスイッチしようとすると以下のエラーとなります。
su : Authentication failure
ちなみにロックされていない場合はパスワードミスをすると以下のエラーとなります。
su Permission denied
この標準出力の違いで、現在ロックされているか否かが確認できました。
終わりに
rootパスワードの設定を忘れた場合は最終的な手段として以下のような強制変更も可能ですがパスワードによるログインが求められる場合は本設定に抵触する可能性がありますのでご注意ください。
password-authファイルは読み取り権限であれば全ユーザに付与されているので、パスワードでログインする前にrootに対してロックがかかる設定かどうかを確認してみることをおススメします。
以上、ご参考になれば幸いです。