sudo 不提示输入密码并报告 3 次密码尝试错误

sudo 不提示输入密码并报告 3 次密码尝试错误

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。所以我解决了这个问题,它肯定是在安全方面。

相关内容