所以,我adduser'ed micronxd。我已经passwd'd micronxd。现在我想让micronxd成为sudo用户。自动将用户添加到新的sudoers文件最简单的方法或方法是什么?
我试图尽可能多地把这个过程打包到shell脚本中。如果可能的话,解决方案是否可能涉及sed'ing sudoers文件?我希望对这个糟糕的小块(sed)有很强的把握。
所以,我adduser'ed micronxd。我已经passwd'd micronxd。现在我想让micronxd成为sudo用户。自动将用户添加到新的sudoers文件最简单的方法或方法是什么?
我试图尽可能多地把这个过程打包到shell脚本中。如果可能的话,解决方案是否可能涉及sed'ing sudoers文件?我希望对这个糟糕的小块(sed)有很强的把握。
sudoers
文件应该只能用visudo(8)
进行编辑。
这就是说,也许你应该只是添加micronxd
到wheel
组添加micronxd
用户时,(见adduser(8) --add_extra_groups
选项),然后加入这一行sudoers
(通过visudo(8)
:):
%wheel ALL=(ALL) ALL
现在,您使用主要组或wheel
的补充组创建的每个用户都会自动获取sudo
访问权限。您可能永远不需要再次编辑sudoers
文件。
(请注意,您可以轻松地添加你想要的wheel
组中的任何; vigr(8)
,找到wheel
组,并添加自己的登录名以行,用逗号分隔用户名。)
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;}'
发现开始根未注释的行,并用它取代该保持缓冲器。
2.
'X'
交换保持缓冲区与常规的“要sed'd”缓冲区。
3.
的/根/ micronxd /'
用micronxd取代root
4.
'X'
交换与常规的保持缓冲“再次被sed'd”缓冲区。
5.
'/ ^根/ G'
G在行匹配^根后附加保持缓冲区。
##
允许根ALL =(ALL)ALL执行的命令的任何地方
根ALL =(ALL)ALL
micronxd ALL =(ALL)ALL
6.
'wsudoers'
写入定期SED缓冲回sudoers文件
我敢肯定有一个更好的办法,但我试图得到sed的挂钩。另外,我不确定user MACHINE=COMMANDS ????
是所有Linux系统的语法,还是仅仅是fedora(这就是我正在处理的)。
无论如何,我很高兴看到其他方式(尤其是更好的方式)。
你的方式似乎比我的愚蠢sed方法更好lol 非常感谢! – MicronXD 2011-03-18 03:16:53
MicronXD,学习'sed'没什么问题,我希望自己能更好地了解它(和'awk')。:) – sarnold 2011-03-18 03:20:12
+1 Plus您可以创建其他组并为组分配不同的权限组合。然后,就像你说的那样,将用户添加到“备份”组或“报告”组很简单。 – 2011-03-18 03:35:24