以与 root 不同的用户身份运行脚本

bul*_*che 11 root privileges

从 root 用户,我如何授予另一个用户执行文件 /root/script.sh 的权限?

这个想法是像这样运行脚本 sudo -u user1 /root/script.sh

ori*_*ion 11

我必须说我从不喜欢sudo(尤其是它的配置)。普通旧su

su -c 'command' - user
Run Code Online (Sandbox Code Playgroud)

从 root 执行,它不会提示输入密码。


Hau*_*ing 0

用户必须有

  1. 整个目录路径的执行权限(/root仅限此处)

  2. 文件的执行权限

  3. 文件的读取权限

/root保持不变并为此目的创建(或使用)不同的目录可能是一个好主意(例如/usr/local/bin)。您可以通过将user1其设为文件的所有者或保留root所有者和组,将简单访问权限 ( chmod) 设置为770并添加user1ACL ( setfacl),将其设置为唯一允许执行脚本的用户。