シェル スクリプトを使用して 2 人のユーザーを切り替える必要があります。
ユーザーの切り替えには su と sudo を使用しました。肝心なのは、毎回ユーザーパスワードの入力を求めるプロンプトが表示されるということです。
パスワードは知っています。ユーザーにパスワードの入力を求めないように、スクリプト自体にハードコーディングする方法はありますか?
NOPASSWD条項は機能しませんsudoersか?例えば:
user1 ALL=(ALL:ALL) NOPASSWD: /bin/su user2
パスワードなしuser1で su できるようにします。user2特定のコマンドを としてのみ実行する必要がある場合は、明示的に(を介して)user2に追加します。sudoersvisudo
user1 ALL=(user2) NOPASSWD: /path/to/command
次にuser1実行します。
sudo -k user2 /path/to/command
-Sパラメータを使用sudoすると、標準入力からパスワードを受け入れます。参照: TTY をオーバーライドせずに su/sudo/ssh にパスワードを渡すには?