私の目標は、複数のアプリケーションの起動を管理することです。そのうちの1つは、高い権限を持つユーザーによって実行されます。
計画は、実行マネージャ(Node.jsスクリプトを使用require('child_process').exec
)をcd
アプリケーションユーザーのホームディレクトリに配置し、実行としてsu <app user>
実行を開始することです<app user>
。
私の最も大きい興味は安全である。たとえば、<app user>
exit
ブート管理者ユーザーを返すことはできますか?
このアプローチを使用するときに考慮する必要があるか注意する必要がある他の問題がありますか?
ベストアンサー1
実行されると、実行<app user>
中のアプリケーションにはそのユーザーが持っている権限のみがあります。
可能性については、exit
申請書が終了した後は何も再公開されませんexit
。
あなたのスクリプトが何であるかはわかりませんが、通常、アプリケーションの起動はsystemdのようなもので最もよく管理されます。説明されたスクリプトが実行するすべてのタスクを実行するサービスファイルを生成できます。
サービスを実行するユーザー、起動するアプリケーション、起動するディレクトリなどを指定できます。
以下は、システムサービスファイルを起動するためのいくつかの良い例です。https://www.shellhacks.com/systemd-service-file-example/