1. ホーム
  2. linux

[解決済み] パスワードなしで別のユーザーとしてスクリプトを実行するには?

2022-04-29 22:25:27

質問

ユーザー2として実行しなければならないscript.shがあります。 しかし、このスクリプトは、私のアプリケーションではユーザー1の下でしか実行できません。

以下のコマンドを実行させたいのですが。

su user2 -C script.sh

が、パスワード無しで実行できるようにする。

また、ユーザー1はユーザー2の下でしかscript.shを実行できないなど、非常に限定的なものにしたいです。

sudoersファイルでこれをやろうとしたのですが、何時間やっても果てしなく混乱してしまうんです。

もし誰かが、(use sudoersのような一般的なものでなく)どのようにこれを達成できるか明確な例を提供してくれるなら、それは非常にありがたいことです。

どのように解決するのですか?

電話 visudo で、これを追加します。

user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh

コマンドパスは絶対パスでなければなりません ! では sudo -u user2 /home/user2/bin/test.sh から user1 シェルを使用します。完了です。