Ubuntuマシンにカスタムアプリケーションをインストールしています。ここで、Sudo権限のない通常のユーザーを使用して、アプリケーションをサービスとして開始/停止します。
私のアプリケーションのインストールパス:-
/usr/local/myapp
注:私のアプリケーションは、アプリケーションの実行中に処理するために、/ tmpの下にいくつかのフォルダーとファイルを作成します。
Ubuntuマシンにログインした後、Sudoを使用せずに以下のコマンドのように起動したい
service myapp start
どうすれば達成できますか?
Sudo visudo
を使用してsudoersファイルを編集し、行を追加します
USER ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
この場合、この特定のコマンドにパスワードを入力する必要はありません。
その他の可能性:サービスの開始を含むスクリプトを作成し、スクリプトのsuid
ビットを設定して、ルート(Sudo chown root /usr/local/bin/startMyappService
)が所有するようにします。
セキュリティの落とし穴に注意してください!そのようなファイルには、誰に対しても書き込み許可を与えてはいけません!絶対パスを使用します。何をしているのかを常によく考えてください!