我租了一台服务器(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 系统上特殊位的更多详细信息,请查看维基百科