How to run shell commands with root privileges in

2019-07-24 09:09发布

I need to run shell commands (in my case ipfw) in Java with root privileges. I use ProcessBuilder to run commands with no privileges:

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);
}

This code work fine but I need to run something like sudo root command. How can I do?

I need to run this program in Eclipse, Mac OS X 10.6.8

Edit: for now I use sudo java nameclass from terminal but in this way I have to manually add all the referenced classes.

标签: java shell root
1条回答
闹够了就滚
2楼-- · 2019-07-24 09:16

Easy!

  1. Set up your sudoers to not require a password for ipfw:

    user = NOPASSWD: /usr/sbin/ipfw
    
  2. Use sudo as usual.

查看更多
登录 后发表回答