只是想要一点build议。 我有一个服务器的根访问权限,我想创build第二个用户,并通过sudo执行所有的东西,而不是以root身份login。 文件/ etc / sudoers的内容如下:
Defaults env_reset root ALL=(ALL) ALL %sudo ALL=(ALL) ALL
我已经添加了第二个用户“bob”到系统,并将它们添加到组sudo,这应该确保他们可以执行根命令。 尝试任何forms的特权操作时,出现以下错误:
sudo: must be setuid root
我的理解是,我将不得不设置SUID
chmod u+s /usr/bin/sudo (or should this be g+s?)
这将使我能够执行sudo。
是否有任何安全考虑,我必须考虑这种方法,这是正确的? 很多关于这个的post都说这是一个错误,但设置是一个虚拟服务器,我只提供了根访问权限。 我相信/usr/bin/sudo故意没有设置SUID来限制其他用户运行它,并确保我必须明确地设置它。
你的确需要chmod u+s /usr/bin/sudo 。
我发现有点奇怪的是,我所有安装的Ubuntu服务器(从10.04LTS到12.04LTS)总是带有这个设置。 所以,是的,这是正确的。 而且,通过sudo而不是使用root来执行操作是一个很好的安全方法。 日志/var/log/auth.loglogging了通过sudo调用完成的操作。
我build议你执行下面的命令:
chown root /usr/bin/sudo chgrp root /usr/bin/sudo chmod 4755 /usr/bin/sudo chmod 0440 /etc/sudoers chmod u+s /usr/bin/sudo
当然,你必须以root身份运行它们!