smithj
文件中列出了用户/etc/sudoers
:
root ALL=(ALL) ALL
smithj ALL=(ALL) ALL
smithj
通过 putty 登录系统。他尝试这样做,sudo
但得到以下信息:
sudo adduser jonesjp
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
他从未被提示输入密码。这是在 CentOS 6 上。
这曾经有效,但另一位管理员做了一些未知的更改,导致了这种情况,并且他无法使用。
答案1
要检查的一些事项:
让用户运行sudo -l
。这只是要求 sudo 告诉您您拥有哪些权限。如果您无法做到这一点,则存在一个基本身份验证问题,可能与 sudo 本身无关。
/etc/pam.d/sudo
与其他功能系统(或备份)进行比较。
与其他功能系统(或备份)进行比较/etc/pam.d/system-auth
。对该系统的细微更改可能会带来棘手的故障排除问题。
查看模块/etc/pam.d/system-auth
是否pam_access.so
正在使用。如果是,您需要检查是否smithj
允许进入/etc/security/access.conf
(除非 PAM 模块指定了另一个文件)。一个潜在的棘手问题是,如果允许帐户从远程 IP 访问,但不允许本地访问;这最终允许远程登录,但 cron 作业和 sudo 身份验证等本地操作会失败。
是smithj
通过密码登录吗?还是通过密钥?确保他们可以使用密码登录,以帮助缩小问题范围。如果他们无法在任何地方成功使用密码,请开始查看 、/etc/passwd
、/etc/shadow
以及/etc/nsswitch.conf
与您正在使用的目录相关联的任何配置文件的更改(可能没有,可能是 LDAP、NIS、AD)。
如果您正在运行缓存守护程序,nscd
或者sssd
,请重新启动该守护程序(sudo service nscd restart
)。这些守护程序因存在问题而臭名昭著。
答案2
我在类似 RH 的自定义系统上遇到了这个问题,文件 /etc/pam.d/sudo 不存在。
我只需将其链接到 /etc/pam.d/system-auth 即可工作:
root@fws1:~ # ln -s /etc/pam.d/system-auth /etc/pam.d/sudo
答案3
检查你的/etc/pam.conf
文件。为了解决我的问题,我必须添加
#############################
# SUDO service
#############################
sudo auth required pam_authtok_get.so
sudo auth required pam_dhkeys.so
sudo auth sufficient pam_unix_auth.so
sudo auth required pam_login_auth.so
sudo account required pam_roles.so
sudo account required pam_projects.so
sudo account required pam_unix_account.so
sudo account required pam_login_auth.so
答案4
我在从头开始为 Linux 7.9 编译 sudo 时遇到了类似的问题。由于 pam 没有正确安装,我不得不重新编译 sudo --without-pam。所以我解决了这个问题,它肯定是在安全方面。