检查用户是否属于 sudo 组的脚本
Script to check if user belongs to sudo group
我认为我非常接近检查用户是否属于 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 文件中。
谢谢。
在单引号 '
中,bash 变量不会展开。在带有 echo
.
的行中使用双引号 "
不过,如果您只是想让组中的用户使用 sudo 运行 此命令,只需添加以下行:
%sudo ALL=NOPASSWD: /usr/local/sbin/myscript
到 /etc/sudoers
文件。 %
符号表示一个组,这里
我认为我非常接近检查用户是否属于 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 文件中。
谢谢。
在单引号 '
中,bash 变量不会展开。在带有 echo
.
"
不过,如果您只是想让组中的用户使用 sudo 运行 此命令,只需添加以下行:
%sudo ALL=NOPASSWD: /usr/local/sbin/myscript
到 /etc/sudoers
文件。 %
符号表示一个组,这里