修改/etc/pam.d/common-password后切换到root用户总是失败

修改/etc/pam.d/common-password后切换到root用户总是失败

我使用的是ubuntu 18.04。为了加强我的密码策略,我修改/etc/pam.d/common-password如下:

# here are the per-package modules (the "Primary" block)
#password       requisite                       pam_cracklib.so retry=3 minlen=8 difok=3
password requisite pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=15
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config

起初,当我尝试使用 root 登录时,sudo -s根本没有问题,但是当我尝试使用 root 登录sudo -s并输入密码时,我总是得到抱歉,请再试一次。

答案1

PAM配置中的几password行才生效当您尝试更改密码时。因此,您的/etc/pam.d/common-password修改极不可能成为您无法使用 切换到 root 的因素sudo

auth如果您对以关键字、account或开头的 PAM 配置行进行了任何更改session,那么您的更改可能会导致sudo失败。

这些auth行告诉系统应如何验证尝试登录的用户的身份。 (“我怎么知道是你?”)

这些account行用于确定在成功通过身份验证后是否允许您进入:您是否有登录时间限制?每个用户连续登录的最大次数可能有限制吗?您的帐户仅限本地登录吗?管理员是否使用/etc/nologin文件阻止了常规用户登录(可能是为了完成一些主要操作系统升级或磁盘空间重组)?

通过这些检查后,这些session行定义了系统设置会话所需执行的基本操作:例如应用ulimit限制、设置一组基本的环境变量、将会话记录到文件utmp、可能授予您访问权限等。某些硬件设备仅在您本地登录时才可用。

相关内容