我有一个脚本,我希望每个人(世界)都能够执行。但是,脚本中的一行需要 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)
$