您可以简单地echo
(当然具有提升的特权)直接访问/etc/sudoers
文件:
sudo -i
echo 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers
# ^^
# tab
或者,对于脚本:
#!/bin/bash
# Run me with superuser privileges
echo 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers
然后保存到somefile.sh
,然后从终端窗口chmod a+rx
运行sudo ./somefile.sh
。
#!/bin/bash
while [[ -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
并且脚本本身具有超级用户特权,则一切都应该正常工作。