Java での Sudo 権限による Bash コマンドの実行
昇格された権限で Java で bash コマンドを実行するには、ProcessBuilder ユーティリティを利用できます。ただし、「sudo gedit」を呼び出す場合など、sudo 権限が必要なコマンドを実行する場合、デフォルト設定では必要な権限が不足します。
この課題に対処するには、Runtime.exec() メソッドを使用するアプローチが必要です。雇用することができる。 「/bin/bash -c」を含むコマンド配列を構築し、目的のコマンドを追加することで、bash コマンドを内部で実行できます。
たとえば、「sudo gedit」コマンドを実行するには、配列は次のようになります:
<code class="java">String[] cmd = {"/bin/bash","-c","sudo gedit"};</code>
その後、このコマンド配列を使用して Runtime.exec() メソッドを呼び出すことができ、スーパーユーザー権限で bash コマンドを効果的に開始できます。
これは重要です。このアプローチには注意が必要であり、慎重に使用する必要があることに注意してください。権限を昇格するためのパスワードがコンソールにエコー表示されますが、これはセキュリティ上理想的ではありません。したがって、テスト目的または厳密に制御された環境でのみ使用してください。
追加メモ:
以上がJava で Runtime.exec() を使用して Sudo 権限で Bash コマンドを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。