用于检查用户是否属于sudo组的脚本

时间:2016-12-14 01:34:47

标签: linux bash shell sudo

我认为我非常接近检查用户是否属于Ubuntu中的sudo组,然后在sudoers文件中添加一行。除非我查看sudoers文件,否则我会看到:

$IDUSER ALL=NOPASSWD: /usr/local/sbin/myscript

而不是那个用户名,例如

bob ALL=NOPASSWD: /usr/local/sbin/myscript

这就是我所拥有的:

#! /bin/sh

set -e

IDUSER=$(grep -Po '^sudo.+:\K.*$' /etc/group)

if [ `id -u $IDUSER 2>/dev/null || echo -1` -ge 0 ]; then 
    echo '$IDUSER ALL=NOPASSWD: /usr/local/sbin/myscript' >> /etc/sudoers

else
    echo "Script failed..."
fi

理想情况下,我想将sudo组中的所有用户添加到sudoers文件中。

谢谢。

1 个答案:

答案 0 :(得分:0)

在单引号'中,bash变量不会扩展。请在"行中使用双引号echo

如果您只是想让组sudo中的用户运行此命令,只需添加以下行:

%sudo ALL=NOPASSWD: /usr/local/sbin/myscript

/etc/sudoers文件。 %符号表示此处的组。