RHELサーバにログインできなくなったよ!
私は保守運用業務を5年ほど実施していました。
その際、よくアカウントロックの連絡が発生していました。
初心者向けに確認すべきポイントを記載します。
はじめに
使えていたのに使えなくなるのは、ほぼパスワードの入力誤りによるロックかと想定しています。
ここに書いているコマンドの実行は自己責任でお願いします。
設定確認ポイント
アカウントの存在確認
コマンド:cat /etc/passwd | grep {ユーザーID}
対象のアカウントが出力されれば、正常に登録済の状態です。
ログインシェルの確認
コマンド:cat /etc/passwd | grep {ユーザーID}
第7フィールド(一番最後の部分)が「/bin/false」「/usr/sbin/nologin」ではないことを確認。
ユーザーが使用するアカウントでは、まず設定されないですが念のために記載しておきます。
アカウントの期限確認
コマンド:chage -l {ユーザーID}
アカウントの有効期限(account expire)が切れていないこと。
SSH設定(rootアカウントを使用したssh接続の場合)
コマンド:cat /etc/ssh/sshd_config | grep PermitRootLogin
rootアカウントでログインできない場合の確認箇所です。通常、業務で使用しているサーバは「no」が設定されていると思います。
「yes」:rootアカウントでのログイン可能
「no」:rootアカウントでのログイン抑止
SSH設定(ユーザー接続許可設定)
コマンド:cat /etc/ssh/sshd_config | grep AllowUsers
記載がある場合、接続許可のユーザーを設定しています。
登録されているユーザーのみがログイン可能となります。
SSH設定(ユーザー接続抑止設定)
コマンド:cat /etc/ssh/sshd_config | grep DenyUsers
記載がある場合、接続抑止するユーザーを設定しています。
登録されているユーザーはログイン不可となります。
PAM設定(パスワード間違いによるロック1)
コマンド:cat /etc/pam.d/system-auth
「pam_tally.so」の記載がある場合は、以下のコマンドで状態と解除が可能です。
(PAMの設定は複雑なため、system-auth以外のファイルにも記載されている場合があります)
状況確認
コマンド:faillog -u {ユーザーID}
ユーザーの失敗状況が参照できます。
ロック解除方法
コマンド:faillog -u {ユーザーID} -r
PAM設定(パスワード間違いによるロック2)
コマンド:cat /etc/pam.d/system-auth
「pam_tally2.so」の記載がある場合は、以下のコマンドで状態と解除が可能です。
(PAMの設定は複雑なため、system-auth以外のファイルにも記載されている場合があります)
状況確認
コマンド:pam_tally2 -u {ユーザーID}
ユーザーの失敗状況が参照できます。
ロック解除設定
コマンド:pam_tally2 -u {ユーザーID} --reset
ログ確認
Syslogにはパスワード失敗や、抑止されているログが出ますので、ログから理由を調べるのも良いと思います。
解析の時にログを参照するのは当然ですが、念のため記載しておきます。
その他のOSの場合
アカウントロックはその他のOSでも発生します。
その他のOSについての記事も書いていますので、確認してみてください。
まとめ
今までログイン出来ていたユーザーがログインできなくなった場合は、ほぼアカウントロックだと思います。
たまにSSH設定の作業ミスの場合もありますが。
記載した設定を確認することでログインできない等の問題は対処が可能と思います。