如何在 Java 中以 root 权限运行 shell 命令
我需要以 root 权限在 Java 中运行 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 但这样我必须手动添加所有引用的类。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简单的!
将您的
sudoers
设置为不需要ipfw
密码:照常使用
sudo
。< /p>Easy!
Set up your
sudoers
to not require a password foripfw
:Use
sudo
as usual.