您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过shell脚本将用户添加到sudoers

通过shell脚本将用户添加到sudoers

您可以简单地echo(当然具有提升的特权)直接访问/etc/sudoers文件

sudo -i
echo 'nickw444  ALL=(ALL:ALL) ALL' >> /etc/sudoers
#             ^^
#             tab

(请注意用户名和第一个间的制表符ALL

或者,对于脚本:

#!/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并且脚本本身具有超级用户特权,则一切都应该正常工作。

其他 2022/1/1 18:17:34 有285人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶