我想我已经很接近检查用户是否属于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
文件。这里,%
符号表示一个组。