我可以使用sudo权限的pipe理员帐户SSH到我的服务器(CentOS 5.9):
$ ssh admin@myserver Last login: Wed Feb 27 19:23:11 2013 from [IP ADDRESS] [admin@myserver ~]$
那么我可以su根:
[admin@myserver ~]$ sudo su root [sudo] password for admin: [root@myserver admin]#
但是我不能告诉另外一个用户,su命令不会告诉我为什么:
[admin@myserver ~]$ sudo su anotheruser [admin@myserver ~]$ whoami admin
任何想法,为什么我可以扎根,而不是其他用户?
我怎么能告诉我为什么它不做我想做的事?
/etc/sudoers
授予admin
什么权限?
另外,作为root
,你总是可以su - anotheruser
。 也许还有一个额外的步骤,但不知道你的sudoers文件的任何事情,这将工作。
如果对其他人有用:我只是遇到了相同的症状,但答案与sudo
configuration无关。
相反,它关心哪个用户,我试图su
。 目标用户是一个服务伪用户(jenkins),它的shell是/ bin / false。 解决的办法是将shell更改为有效的(使用chsh
)。
检查/var/log/security
和/var/log/auth.log
。
你为什么用sudo
来使用su
? 除非您更改标准ACL,否则不需要这样做。
如果您使用sudo
,那么问题可能与您的sudoer文件有关。 确认你有正确的configuration。