哪种方法更好?
对于桌面使用,似乎sudo更好,因为:@H_502_2@
>作为普通用户,我可以拥有更一致的历史记录
>不需要记住两个密码,尤其是当我不经常执行管理工作时.
>无需在安装时创建其他root帐户.@H_502_2@
但是在服务器管理方面呢?@H_502_2@
在服务器中,您通常已经创建了一个root帐户,并且您可能经常执行管理工作.所以sudo的优势似乎不再成熟.@H_502_2@
更重要的是,在大多数发行版中,在命令行上配置su很容易,只需将用户添加到wheel组即可. (甚至可以在useradding时传递-G wheel.)因此,配置su可以很容易地自动化到shell脚本中.@H_502_2@
但对于sudo?您需要首先添加用户,而不是以交互方式运行visudo.这很糟糕,因为您无法将其自动化为shell脚本.@H_502_2@
(嗯,你可以.例如,@H_502_2@
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
但至少它并不那么容易.)@H_502_2@
那你的意见是什么?对于您更喜欢的服务器环境,sudo还是su root?@H_502_2@
root服务器肯定是必需的,但我更喜欢授予sudo权限,特别是当机器上有多个用户时,这有以下几个原因:
>我不仅仅使用sudo为所有命令授予ALL权限,而且还将特定权限授予特定命令.
>通过将用户分配到功能组,我可以在sudoers中管理这些组的权限,而不是单独管理用户.
> sudo访问默认记录在auth.log中,包括哪些用户在什么时候使用sudo.
> sudo允许使用一个文件管理多台计算机的配置.
>每个用户都保留自己的密码,因此用户离开时无需更改root密码.@H_502_2@
至于使用脚本管理它,新版本的sudo支持包含,但我更喜欢使用puppet和set类来连接sudoers内容.@H_502_2@