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