在脚本中以 root 身份运行一个命令

在脚本中以 root 身份运行一个命令

我有一个脚本,我希望每个人(世界)都能够执行。但是,脚本中的一行需要 root 权限才能正常运行。

我怎样才能让这个脚本适用于每个人,而不需要任何人输入 root 凭据?如果我在命令前面加上 sudo,那么我假设每个用户都会被提示输入 root 凭据。

#!/bin/bach
echo "works fine"
sudo rootonlycommand
echo "works fine"

答案1

sudo允许条目/etc/sudoers有一个NOPASSWD:选项。它还允许ALL成为源用户。

所以像这样的条目

ALL ALL=(root) NOPASSWD: /bin/id

id允许任何人无需密码即可运行该命令。

$ sudo -k -K
$ sudo /bin/id
uid=0(root) gid=0(root) groups=0(root)
$ 

相关内容