一键在macosx上以root权限运行jar



我用jpcap实现了一个小型的java嗅探器工具。到目前为止,它运行良好,但它需要root权限才能访问网络设备。如果我将我的项目导出到一个可运行的jar中,我可以通过在终端中使用sudo来运行它:

$ sudo java -jar littleSniffer.jar 

有人知道用root权限运行我的可运行jar的"一键"解决方案吗。我想把这个工具给我的同事,如果他们不用终端就能启动它,那就太好了。也许通过使用自动售货机应用程序?

试试这样的东西:

如果你对终端很满意,只需创建一个新文件并放入类似的内容:

#!/bin/sh
sudo java -jar littleSniffer.jar

并将该文件保存为blah.command(.命令扩展名在双击时在terminal中运行sh文件)。

如果你想要更好的东西,你可以使用这样的osascript命令:

#!/bin/sh
osascript -e "do shell script "java -jar littleSniffer.jar" with administrator privileges"

它将使用GUI请求根密码。

注意:如果你的.命令文件没有运行,你可能需要:

chmod +x blah.command

以使其可运行。

尝试使用uuencode/uudecode将JAR嵌入到shell脚本中。创建一个名为littleSniffer.command的shell脚本,其中包含以下行:

#!/bin/bash
rm -f littleSniffer.jar
uudecode $0
sudo java -jar littleSniffer.jar
rm -f littleSniffer.jar
exit

然后,运行uuencode -m littleSniffer.jar littleSniffer.jar >> littleSniffer.command,以便将JAR嵌入脚本中。

相关内容

  • 没有找到相关文章

最新更新