ルート コンテキストなしで sudo 権限でプログラムを実行するにはどうすればよいですか?

ルート コンテキストなしで sudo 権限でプログラムを実行するにはどうすればよいですか?

IntelliJ IDEA を特権権限で起動したいです。これは、IDE 内でアプリケーションを起動すると SFTP サーバーが起動するためです。これは、権限がある場合にのみ機能します。

これまでのアプローチは、 で IntelliJ プログラムを起動することでしたsudo。ここでの不便な点は、IntelliJ がrootディレクトリにあるまったく新しい構成コンテキストを開始したことです。そのため、IDE の空白/新しいユーザー構成から開始する必要があり (簡単に変更できますが、それは重要ではありません)、ライセンス コードを再度入力する必要もあります。

実際に root として動作せずに、ログインしているユーザーとして動作しながらプログラムを実行する方法はありますか?

答え1

IDE を root として実行することはお勧めしません。何か問題が発生した場合、大変なことになります。

代わりに、適切な sudo アクセス権を自分に付与し、ルート アクセスが必要な項目をスクリプトでラップします。

たとえば、acme_sftp_serverをrootとして実行するには、スクリプトを作成します。

#!/bin/bash
sudo acme_sftp_server

次に、パスワードなしで sudo 経由で acme_sftp_server を実行するために、自分自身に sudo 権限を付与します。

次に、IntelliJを介してサーバーではなくスクリプトを呼び出します。

関連情報