usr1とusr2という2人のユーザーがいます。ルートではありません。
usr1 は bash スクリプトを起動します。スクリプトからusr2でいくつかのコマンドを実行したいと思います。私が理解したところによると、これを行う方法は次のとおりです。
su -l <usr2> -c "command"
問題はパスワードを渡すことです。これらは異なる権限を持つ2人の異なるユーザーなので、usr2のパスワードをスキップすることはオプションではありません。
スクリプトは対話的にユーザーにパスワードを尋ねることができます。 Bashスクリプトでこれを行う方法はありますか?
答え1
ユーザー1がユーザー2に対してsudoを実行できますが、パスワードなしでコマンドのみを実行できるようにsudoersファイルを設定するのはどうですか?これはまだセキュリティ問題を解決しますか?
私はsudoersがこうなると思いました。
ユーザー名ホスト名= NOPASSWD: /path/to/command