ルートがpamの対象ではない理由

ルートがpamの対象ではない理由

/etc/pam.d/common-password ファイルには次の設定があります。

password        requisite                       pam_cracklib.so retry=3 lcredit=-1 ucredit=-1 dcredit=-1
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512
password        requisite                       pam_deny.so
password        required                        pam_permit.so
password        optional        pam_ecryptfs.so

ルートが他のユーザーに対して脆弱なパスワードを設定できるのはなぜですか?

root@kali:~# LANG=C passwd kali
New password: 
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is a palindrome
Retype new password: 
passwd: password updated successfully

私はこれを可能にするpamの規則を見ませんでした。私は何を逃したことがありませんか?

ベストアンサー1

PAMの最新バージョン(およびRHEL 6にバックポートされている)では、pam_cracklibオプションを追加できますenforce_for_root。この機能はデフォルトでオフになっています。行に追加するだけです。

もちろん、SELinuxのような他の多くの制限なしに、ルートは常にPAMをバイパスし、パスワードを別の方法(例えば適切なファイルに直接書き込む)で設定することができます。確かな限界。

スタックがこの種のことを処理すると期待するのではなく、なぜこのように動作しますか?ただ柔軟性の問題だと思います。特に、PAM制御値が単に必須/必須/十分/選択の場合 - 上記のpam_rootok制御値を設定する必要があります。sufficientみんなルートが無視されるかどうかを確認しますが、それらだけを無視します。ルートとして成功するオプションが組み込まれているので、pam_cracklibこれは必要ありません(ルートがスキャンをスキップすることを許可する必要があると仮定すると、これはあなたの場合ではありませんが明らかにそうです)。

おすすめ記事