在 CentOS 上不能 su 给 root 以外的用户

Chi*_*Cgi 4 su centos sudo

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

$ ssh admin@myserver
Last login: Wed Feb 27 19:23:11 2013 from [IP ADDRESS]
[admin@myserver ~]$
Run Code Online (Sandbox Code Playgroud)

然后我可以 su 到 root:

[admin@myserver ~]$ sudo su root
[sudo] password for admin: 
[root@myserver admin]# 
Run Code Online (Sandbox Code Playgroud)

但是我不能 su 到另一个用户,并且 su 命令没有告诉我原因:

[admin@myserver ~]$ sudo su anotheruser
[admin@myserver ~]$ whoami
admin
Run Code Online (Sandbox Code Playgroud)

知道为什么我可以 su 到 root 而不是其他用户吗?

我怎样才能让 su 告诉我为什么它没有做我想做的事?

小智 12

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

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