如何在Java中以root权限运行shell命令

Bad*_*uel 2 java shell root

我需要ipfw使用root权限在Java中运行shell命令(在我的例子中).我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);
}
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但我需要像sudo root命令一样运行.我能怎么做?

我需要在Eclipse,Mac OS X 10.6.8中运行该程序

编辑:现在我使用终端的sudo java nameclass,但是这样我必须手动添加所有引用的类.

Chr*_*ung 6

简单!

  1. 将您设置sudoers为不需要密码ipfw:

    user = NOPASSWD: /usr/sbin/ipfw
    
    Run Code Online (Sandbox Code Playgroud)
  2. sudo像往常一样使用.