2011-03-18 63 views

回答

5

sudoers文件应该只能用visudo(8)进行编辑。

这就是说,也许你应该只是添加micronxdwheel组添加micronxd用户时,(见adduser(8) --add_extra_groups选项),然后加入这一行sudoers(通过visudo(8) :):

%wheel ALL=(ALL) ALL 

现在,您使用主要组或wheel的补充组创建的每个用户都会自动获取sudo访问权限。您可能永远不需要再次编辑sudoers文件。

(请注意,您可以轻松地添加你想要的wheel组中的任何; vigr(8),找到wheel组,并添加自己的登录名以行,用逗号分隔用户名。)

+0

你的方式似乎比我的愚蠢sed方法更好lol 非常感谢! – MicronXD 2011-03-18 03:16:53

+1

MicronXD,学习'sed'没什么问题,我希望自己能更好地了解它(和'awk')。:) – sarnold 2011-03-18 03:20:12

+0

+1 Plus您可以创建其他组并为组分配不同的权限组合。然后,就像你说的那样,将用户添加到“备份”组或“报告”组很简单。 – 2011-03-18 03:35:24

0

OK OK OK !我完全明白了。 这可能有点矫枉过正,但我​​不确定sudoers文件是否跨越不同的发行版。

我发现在保持缓冲区文档这里的sed: http://anaturb.net/sed.htm

,并在x命令sed的位置: http://www.kingcomputerservices.com/unix_101/hands_off_editing_with_sed_part_2.htm

,我想出了这个: sed -e '/^root/{h;}' -e 'x' -e 's/root/micronxd/' -e 'x' -e '/^root/G' -e 'wsudoers' sudoers

下面是6个步骤的细目:

1.'/ ^根/ {H;}'

发现开始未注释的行,并用它取代该保持缓冲器。

  • 常规SED缓冲液:整个sudoers文件]
  • 保持缓冲液:根ALL =(ALL)ALL

2.'X'

交换保持缓冲区与常规的“要sed'd”缓冲区。

  • 常规SED缓冲液:根ALL =(ALL)ALL
  • 保持缓冲液:整个sudoers文件]

3.的/根/ micronxd /'

用micronxd取代root

  • 常规SED缓冲液:micronxd ALL =(ALL)ALL
  • 保持缓冲液:整个sudoers文件]

4.'X'

交换与常规的保持缓冲“再次被sed'd”缓冲区。

  • 常规SED缓冲液:整个sudoers文件]
  • 保持缓冲液:micronxd ALL =(ALL)ALL

5.'/ ^根/ G'

G在行匹配^根后附加保持缓冲区。

  • 常规SED缓冲液(刚相关比特):

##允许根ALL =(ALL)ALL执行的命令的任何地方
根ALL =(ALL)ALL
micronxd ALL =(ALL)ALL

  • 保持缓冲液:micronxd ALL =(ALL)

6.'wsudoers'

写入定期SED缓冲回sudoers文件

我敢肯定有一个更好的办法,但我试图得到sed的挂钩。另外,我不确定user MACHINE=COMMANDS ????是所有Linux系统的语法,还是仅仅是fedora(这就是我正在处理的)。

无论如何,我很高兴看到其他方式(尤其是更好的方式)。

相关问题