在 CentOS 上无法 su 为 root 以外的用户

在 CentOS 上无法 su 为 root 以外的用户

我能够使用具有 sudo 权限的管理员帐户通过 SSH 连接到我的服务器(CentOS 5.9):

$ ssh admin@myserver
Last login: Wed Feb 27 19:23:11 2013 from [IP ADDRESS]
[admin@myserver ~]$

然后我可以通过 su 来变成 root :

[admin@myserver ~]$ sudo su root
[sudo] password for admin: 
[root@myserver admin]# 

但我无法 su 到其他用户,并且 su 命令没有告诉我原因:

[admin@myserver ~]$ sudo su anotheruser
[admin@myserver ~]$ whoami
admin

知道为什么我可以用 su 转换为 root 用户,但不能用 su 转换为其他用户吗?

我怎样才能让 su 告诉我为什么它没有按照我想要的方式运行?

答案1

授予了哪些/etc/sudoers权限admin

另外,正如root,你总是可以su - anotheruser。也许需要额外的步骤,但在不知道你的 sudoers 文件的情况下,这可以工作。

答案2

sudo如果它对其他人有用:我刚刚遇到了同样的症状,但答案与配置无关。

相反,重要的是用户我尝试过su。目标用户是服务伪用户 (jenkins),其 shell 为 /bin/false。解决方法是将 shell 更改为有效 shell(使用chsh)。

答案3

检查/var/log/security/var/log/auth.log

为什么要sudo使用su?除非您更改标准 ACL,否则无需这样做。

如果您使用sudo,则问题可能与您的 sudoer 文件有关。请验证您是否已正确配置它。

相关内容