sudo:必须是 setuid root

sudo:必须是 setuid root

我租了一台服务器(ubuntu 12.04)。他们给了我一个 root 用户帐户。

接下来,我进入并使用以下命令创建一个新用户:

# adduser <newusername>

并添加了密码。

新的用户帐户工作正常。我可以使用其用户名和密码通过 SSH 进入该帐户。

但是,当我使用新的用户帐户时,我无法再使用:

sudo

如果我做类似的事情:

sudo apt-get install build-essential

或者类似的东西:

sudo su

我收到消息:

sudo:必须是 setuid root

帮助?

(我知道之前有人问过类似的问题,但在那里找不到解决方案。)

答案1

我不知道为什么,但是 sudo 可执行文件上的 setuid 位未设置,而这是正常工作所必需的。

要设置它,只需执行chmod u+s $(which sudo)。该语句$(which sudo)查找文件系统中 sudo 可执行文件的路径(通常为 /usr/bin/sudo),因此命令扩展为chmod u+s /usr/bin/sudo。有关 Linux/Unix 系统上特殊位的更多详细信息,请查看维基百科

相关内容