您可以简单地
echo(当然具有提升的特权)直接访问
/etc/sudoers文件:
sudo -iecho 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers# ^^# tab
(请注意用户名和第一个之间的制表符
ALL)
或者,对于脚本:
#!/bin/bash# Run me with superuser privilegesecho 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers
然后保存到
somefile.sh,然后从终端窗口
chmod a+rx运行
sudo ./somefile.sh。
要添加多个用户,请将脚本更改为此。
#!/bin/bashwhile [[ -n $1 ]]; do echo "$1 ALL=(ALL:ALL) ALL" >> /etc/sudoers; shift # shift all parameters;done
然后,像这样运行脚本(假设您将其另存为
addsudousers.sh):
sudo ./addsudousers.sh bob joe jeff
即,以空格分隔。
要从文件中读取名称:
nickw444@laptop ~ $ sudo ./addsudousers.sh `cat listofusers.txt`
listofusers.txt也应以空格分隔。
编辑: Jappie Kirk
正确地指出,您不能直接调用,
sudo echo ... >>/etc/sudoers因为
>>重定向是由外壳处理的,而外壳此时已放弃了超级用户特权。但是,如果运行包含的脚本,
echo ... >>/etc/sudoers并且脚本本身具有超级用户特权,则一切都应该正常工作。



