通过shell脚本为用户提供sudo访问权限。我想创建一个shell脚本来为用户提供sudo访问权限并将它们添加到sudoers文件中。到目前为止,我已经得到了这个。我是编程新手
输入:
$ROOT_USERS
- 要添加到根sudoers策略的一组用户添加用户:
rootUsers=(${ROOT_USERS//,/ })
for rootUser in "${rootUsers[@]}"; do
echo "Adding user, $rootUser"
useradd $user
echo "s0m3Pw0rdz!" | passwd --stdin $user
done
echo 'Completed Successfully'
答案 0 :(得分:3)
不要修改脚本groupadd rootusers
。这是凌乱而脆弱的。
相反,使用sudoers
为“root用户”创建一个新组,并添加一个%rootusers ALL=(ALL:ALL) ALL
规则,为他们提供所有访问权限:
useradd -G rootusers "$user"
现在,您的脚本可以简单地将新用户添加到该组:
#!/bin/bash
# Example input
ROOT_USERS="foo,bar"
rootUsers=(${ROOT_USERS//,/ })
for user in "${rootUsers[@]}"; do
echo "Adding user, $user"
useradd -G rootusers $user
echo "s0m3Pw0rdz!" | passwd --stdin $user
done
echo 'Completed Successfully'
这是您的脚本,此更改和其他一些错误修复:
%rootusers ALL=(ALL:ALL) ALL
同样,这取决于您首先在sudoers中手动添加sap.m.Input
作为一次性事物。
答案 1 :(得分:0)
您可以使用此脚本将用户列表作为命令行参数
添加到suders列表中IO
您可以将此脚本作为#!/bin/bash
#addSudoUsers.sh
while [[ -n $1 ]]; do
echo "$1 ALL=(ALL:ALL) ALL" >> /etc/sudoers;
shift # shift all parameters;
done