bashスクリプトとは異なるユーザーでコマンドを実行する

bashスクリプトとは異なるユーザーでコマンドを実行する

usr1とusr2という2人のユーザーがいます。ルートではありません。

usr1 は bash スクリプトを起動します。スクリプトからusr2でいくつかのコマンドを実行したいと思います。私が理解したところによると、これを行う方法は次のとおりです。

su -l <usr2> -c "command"

問題はパスワードを渡すことです。これらは異なる権限を持つ2人の異なるユーザーなので、usr2のパスワードをスキップすることはオプションではありません。

スクリプトは対話的にユーザーにパスワードを尋ねることができます。 Bashスクリプトでこれを行う方法はありますか?

ベストアンサー1

ユーザー1がユーザー2に対してsudoを実行できますが、パスワードなしでコマンドのみを実行できるようにsudoersファイルを設定するのはどうですか?これはまだセキュリティ問題を解決しますか?

私はsudoersがこうなると思いました。

ユーザー名ホスト名= NOPASSWD: /path/to/command

おすすめ記事