我正试图通过我的java应用程序将iptables当前规则保存到iptables文件中。由于我没有写入文件而不登录到根目录的权限,所以我使用以下命令。
sudo iptables-save | sudo tee /etc/sysconfig/iptables当我在没有登录到终端根目录的情况下输入上面的命令时,它可以工作(将规则保存到文件中),但是当我将相同的命令添加到我的java程序时,它就不能工作了。
下面是我在我的程序中实现它的方式
..inside法
{
String command="sudo iptables-save | sudo tee /etc/sysconfig/iptables";
Process process=Runtime.getRuntime().exec(command);
}这里似乎有什么问题?有没有其他方法可以将iptables规则保存到iptables文件,而不登录到根目录呢?
谢谢
发布于 2015-09-23 10:42:04
当sudo调用时,它会询问启动它的用户的密码--以确保终端上的人确实是/etc/sudoers中列出的"joe“。
您必须在您的程序中考虑这种行为。
https://serverfault.com/questions/724230
复制相似问题