哪种方法更好?
对于桌面使用,似乎sudo更好,因为:
但关于服务器pipe理?
在服务器中,通常您已经创build了一个root帐户,并且您可能经常执行pipe理任务。 所以sudo的优势似乎已经不复存在了。
更重要的是,在大多数发行版中,在命令行上configurationsu很容易,只需将用户添加到轮组即可。 (在使用时你甚至可以传递-G wheel )。因此,configurationsu可以很容易地自动化到shell脚本中。
但是对于sudo? 您需要先添加用户,而不是交互式运行visudo 。 这是不好的,因为你不能将它自动化到shell脚本中。
(好吧,你可以。例如,
echo '%wheel ALL=(ALL) ALL' >> /tmp/sudoers.tmp cp /etc/sudoers /etc/sudoers.old visudo -c -f /tmp/sudoers.tmp && mv /tmp/sudoers.tmp /etc/sudoers
但至less不是那么容易的。)
那么你有什么意见? 对于你喜欢的服务器环境,sudo或su root?
根帐户在服务器上是必需的,但是我更喜欢授予sudo权限,特别是当机器上有多个用户时,出于以下几个原因:
至于使用脚本进行pipe理,新版本的sudo支持包含内容,但我更喜欢使用puppet和设置连接sudoers内容的类。
木偶还可以与Augeas相关联来pipe理你的sudoers文件。
你似乎正在努力使自己(当涉及到pipe理/ etc / sudoers)。 一个简单的
echo '%wheel ALL=(ALL) ALL' >> /etc/sudoers
就足够了。 所有visudo所做的就是locking文件以防止并发编辑,并确保文件仍能正确parsing。