将 Iptables 规则保存到 iptables 文件

将 Iptables 规则保存到 iptables 文件

我正在尝试通过我的 java 应用程序将 iptables 当前规则保存到 iptables 文件中。由于我没有权限在不登录 root 的情况下写入文件,因此我使用此命令。

sudo iptables-save | sudo tee /etc/sysconfig/iptables

当我在终端中不登录根目录的情况下输入上述命令时,它可以起作用(将规则保存到文件中),但是当我将相同的命令添加到我的 Java 程序中时,它不起作用。

下面是我在程序中实现它的方式

..内部方法

{
String command="sudo iptables-save | sudo tee /etc/sysconfig/iptables";
Process process=Runtime.getRuntime().exec(command);
}

这里似乎有什么问题? 有没有其他方法可以在不登录 root 的情况下将 iptables 规则保存到 iptables 文件中?

谢谢

答案1

当调用 sudo 时,它会要求输入启动它的用户的密码 - 以确保终端上的人确实是 中列出的同一个“joe” /etc/sudoers

您必须在程序中考虑这种行为。

相关内容