ユーザー A (一般的な sudo 権限は付与されていません) は、ユーザー B として bash スクリプトを実行します。
最小限のスクリプトは次のようになります。
#!/usr/bin/env bash
touch /home/userB/testfile
sudo -u userB ./script.sh
このスクリプトはユーザー A のものであり、ユーザー B のホームでテストファイルが変更されるように実行されます。
sudoers ファイルに以下を追加しました:
userA ALL=(userB) NOPASSWD: /home/userA/script.sh
しかし、実行するとsudo -u userB /home/userA/script.sh
ユーザー A のパスワードの入力を求められます。