Java を使用してファイアウォールにいくつかのルールを追加します。このコマンドを Java で実行したいと思います。
String [] cmd = {"sudo ipfw delete 100 "};
Runtime.getRuntime().exec(cmd);
しかし、私はこのエラーが発生します
プログラム「sudo ipfw delete 100」を実行できません:エラー=2、そのようなファイルまたはディレクトリはありません
なにか提案を?
Java を使用してファイアウォールにいくつかのルールを追加します。このコマンドを Java で実行したいと思います。
String [] cmd = {"sudo ipfw delete 100 "};
Runtime.getRuntime().exec(cmd);
しかし、私はこのエラーが発生します
プログラム「sudo ipfw delete 100」を実行できません:エラー=2、そのようなファイルまたはディレクトリはありません
なにか提案を?
これは、*nix プラットフォームでの Runtime.exec の一般的なエラー出力です。sudo
との両方ipfw
がランタイム環境のパス上にあることを確認してください。
または、フル パスの場所を指定することもできます。
String [] cmd = {"/path_to_sudo/sudo", "/path_to_ipfw/ipfw", "delete", "100"};
のパスワードを書くと、コマンドsudo
にパスワードを含めることができますが、これには明らかなセキュリティ上のリスクがあります(!)
1 つの解決策は、アプリケーションからパスワードを読み取ることです。
ipfw /sbin/ipfw へのフル パスと、場合によっては sudo も試してみます。
1 つの質問は、このようなパスワードの入力にどのように対処する予定ですか?