我需要在Java中以root权限运行shell命令(在我的情况下是ipfw
)。我使用ProcessBuilder
来以无特权的方式运行命令:
Process p = new ProcessBuilder("ls","/").start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s;
while((s=br.readLine()) != null) {
System.out.println(s);
}
这段代码可以正常运行,但我需要运行类似于sudo
root命令。我该怎么做?
我需要在 Eclipse 和 Mac OS X 10.6.8 中运行此程序。
编辑:目前我使用终端中的sudo java
nameclass,但这样我必须手动添加所有引用的类。
sudo visudo
。尽情编辑。 - C. K. Young# 用户权限规范
下面添加这行吗? - Badueluser
替换为“_myusername_”,但错误还是一样的。 - Baduel