Mac防火墙设置与java

时间:2012-08-22 16:19:57

标签: java

我要用防火墙在java中添加一些规则,我想用java执行这个命令:

String [] cmd = {"sudo ipfw delete 100 "};
Runtime.getRuntime().exec(cmd);

但是我收到了这个错误

  

无法运行程序“sudo ipfw delete 100”:error = 2,没有这样的文件或目录

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

这是* nix平台上Runtime.exec的常见错误输出。确保运行时环境中的sudoipfw都在您的路径上。

或者,您可以指定完整路径位置:

String [] cmd = {"/path_to_sudo/sudo", "/path_to_ipfw/ipfw", "delete", "100"};

使用sudo的密码,您可以输入密码in your command,但这有明显的安全风险(!)

一种解决方案是从您的应用程序中读取密码。

答案 1 :(得分:0)

我会尝试ipfw / sbin / ipfw以及可能的sudo的完整路径。

一个问题是你打算如何处理这样输入密码?