10.5. PAM 設定例
詳細な説明を含む PAM 設定ファイルの例を参照してください。
アノテーション付き PAM 設定例
#%PAM-1.0 auth required pam_securetty.so auth required pam_unix.so nullok auth required pam_nologin.so account required pam_unix.so password required pam_pwquality.so retry=3 password required pam_unix.so shadow nullok use_authtok session required pam_unix.so
#%PAM-1.0
auth required pam_securetty.so
auth required pam_unix.so nullok
auth required pam_nologin.so
account required pam_unix.so
password required pam_pwquality.so retry=3
password required pam_unix.so shadow nullok use_authtok
session required pam_unix.so
- 1
- この行は、
/etc/securetty
ファイルが存在する場合は、そのファイルにリストされている端末からのみ root ログインが許可されることを保証します。ファイルに端末がリストされていない場合、root としてのログインは失敗し、Login incorrect
メッセージが表示されます。 - 2
- ユーザーにパスワードの入力を要求し、それを
/etc/passwd
に保存されている情報と照合し、存在する場合は/etc/shadow
にも照合します。nullok
引数は空のパスワードを許可します。 - 3
/etc/nologin
ファイルが存在するかどうかを確認します。ユーザーが存在して root でない場合は、認証に失敗します。注記この例では、最初の
auth
モジュールが失敗した場合でも、3 つのauth
モジュールすべてがチェックされます。これは、認証がどの段階で失敗したかを潜在的な攻撃者に知られないようにする優れたセキュリティーアプローチです。- 4
- ユーザーのアカウントを確認します。たとえば、シャドウパスワードが有効になっていると、
pam_unix.so
モジュールのアカウントタイプは、期限切れのアカウントがあるかどうか、またはユーザーがパスワードを変更する必要があるかどうかをチェックします。 - 5
- 現在のパスワードの有効期限が切れた場合、またはユーザーが手動でパスワードの変更を要求した場合に、新しいパスワードの入力を求めます。次に、新しく作成されたパスワードの強度をチェックし、品質要件を満たしており、辞書ベースのパスワードクラッキングプログラムにより簡単に判別できないことを確認します。引数
retry=3
は、ユーザーが強力なパスワードを作成するために 3 回試行できることを指定します。 - 6
pam_unix.so
モジュールはパスワードの変更を管理します。shadow
引数は、ユーザーのパスワードを更新するときにモジュールにシャドウパスワードを作成するように指示します。nullok
引数を使用すると、ユーザーは空のパスワードを変更できます。それ以外の場合、null パスワードはアカウントロックとして扱われます。use_authtok
引数は、ユーザーに再度プロンプトを表示せずに、以前に入力されたパスワードを受け入れます。この方法では、すべての新しいパスワードは、受け入れられる前に、安全なパスワードであるかどうかのpam_pwquality.so
チェックに合格する必要があります。- 7
pam_unix.so
モジュールはセッションを管理し、各セッションの開始時と終了時に、ユーザー名とサービスタイプをログに記録します。ログはsystemd-journald
サービスによって収集され、journalctl
コマンドを使用して表示できます。ログは/var/log/secure
にも保存されます。このモジュールは、追加機能のために他のセッションモジュールとスタックすることで補足できます。