请参阅(有些)相关主题
here.
我在linux机器上的日常任务需要超级用户访问,因为我会(重新)启动服务,监控系统,(联合国)安装东西等.
前段时间,我在IRC会话中被侮辱/嘲笑(如预期的那样),因为我以root身份登录以安装ruby.
显然,以root身份安装服务是正常的*,而不是从root帐户运行的服务.这是可以理解的 – 您不希望在apache中访问冲突以允许root权限.
*与IRC上的优秀人物相矛盾……如图所示.
所以主要的问题,我想,为什么要为许多服务安装说明(最近,在nodejs,ruby和cloud9ide上看到它),假设你在安装它们时不是root用户?
例如,仅在上周,我安装了cloud9ide但无法使其工作,因为它特别禁止我以root身份运行它.然而,没有人提到任何关于它的事情.我通过运行修复了这个问题:
su -s /bin/sh apache -c "node /var/www/cloud9/server.js -l 192.168.1.117 -p 3131 -w /var/www/html"
解决方法
除了已经提到的原因;
在一个足以让单个主机或一组主机拥有多个系统管理员的环境中,sudo允许共享root帐户的问责制.