web-dev-qa-db-ja.com

別のユーザーで起動スクリプトを実行する

user1user2の2人のユーザーがいます。また、Tomcatはuser1の所有権を持ち、user1のみで始まります。 user2がTomcatを開始/停止できるように、user2のルールを作成する必要がありますが、Tomcatは常にuser1で開始する必要があります。

次のコマンドを試しました

su -c "./catalina.sh start" user1

ただし、これにはuser1のパスワードが必要です。私が試したもう1つのことは、sudoersファイルへのエントリです。

user2 ALL=(user1) NOPASSWD: /opt/Tomcat/bin/startup.sh,/opt/Tomcat/bin/shutdown.sh

[user2@DRWJHK bin]$ Sudo /opt/Tomcat/bin/startup.sh
Sorry, user user2 is not allowed to execute '/opt/Tomcat/bin/startup.sh' as root on localhost.localdomain.

それでも、Tomcatをuser1として起動できません。この要件を解決するのを手伝ってください。

1
newbie17

Sudoでは、-uオプションを渡す必要があります。試してみてください:

Sudo -u user1 /opt/Tomcat/bin/startup.sh
1
gogators