用户 A(未授予一般 sudo 权限)应以用户 B 的身份执行 bash 脚本。
一个最小的脚本可能看起来像这样:
#!/usr/bin/env bash
touch /home/userB/testfile
此脚本属于用户A,应通过sudo -u userB ./script.sh
以便在用户B的家中接触testfile来执行。
在 sudoers 文件中我添加了:
userA ALL=(userB) NOPASSWD: /home/userA/script.sh
但执行sudo -u userB /home/userA/script.sh
结果是提示输入用户 A 的密码。