seb*_*elk 1 password root pam kali-linux
我在文件 /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
Run Code Online (Sandbox Code Playgroud)
为什么root可以为其他用户设置弱密码?
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
Run Code Online (Sandbox Code Playgroud)
我没有看到任何允许它的 pam 规则。我错过了什么吗?
在较新的(并反向移植到 RHEL 6)版本的 PAM 中,pam_cracklib
您要添加一个选项— enforce_for_root
. 默认情况下这是关闭的。只需将它添加到该行,然后就可以了。
当然,没有很多其他限制(比如 SELinux),root 总是可以绕过 PAM 并以另一种方式设置密码(例如,直接写入适当的文件),所以考虑这更多的是一种让自己保持诚实的方式比固体限制。
为什么它以这种方式工作,而不是期望堆栈处理这种事情?我认为这只是一个灵活性问题,尤其是当 PAM 控制值只是简单的必需/必需/足够/可选时 - 您必须将pam_rootok
控制值sufficient
置于root 将忽略的所有检查之上,但是只有那些。由于作为 root 成功的选项是内置的pam_cracklib
,所以没有必要(假设允许 root 跳过检查是需要的,这显然是,即使不是你的情况)。
归档时间: |
|
查看次数: |
970 次 |
最近记录: |