我要用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"};
Wrt 的密码sudo
,您可以在命令中使用密码,尽管 this(!) 存在明显的安全风险
一种解决方案是从您的应用程序中读取密码。
我会尝试 ipfw /sbin/ipfw 的完整路径,也可能尝试 sudo 。
一个问题是您打算如何处理输入这样的密码?