shell脚本为用户提供sudo访问权限

时间:2018-05-22 16:16:33

标签: bash

通过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'

2 个答案:

答案 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

运行