2012-08-06 84 views
4

我需要以编程方式编辑,写入或删除受保护文件。在Windows中,如果我手动执行它,它会要求许可,而在Unix系统中,我需要“sudo”。

如何在Java中请求执行期间的更高权限?授予使用受保护文件的字的权限

+0

很多程序都需要很高的权限才能工作......我只是想知道如何使用Java来获取它们 – Oneiros 2012-08-06 21:41:24

回答

2

如果您的程序需要高级别访问权限,最好建议用户需要将其作为root/a权​​限帐户运行才能工作。 否则,最好的选择是启动一个新的“代理进程”,该进程使用“sudo”进行初始化,然后执行您想要的任何程序,例如“sudo cp File1 File2”,它将为您执行您的肮脏工作。 不幸的是,这不是跨平台的,并且需要用户密码。 在执行过程中,根本没有办法让JVM碰到更高的用户,因为这会带来巨大的安全风险。

md_5

0

因为Java工程,并使用一个虚拟机,你不能只是开始(例如)在提升模式另一个线程。相反,您需要启动一个全新的虚拟机,您将无法连接到该虚拟机。

我会研究执行单独的Java进程的方式,它可以使用提升的权限运行。你仍然可以使用相同的代码,但它是一个主要的方法。

你将无法提高你的隐私。

我可能完全错了,很高兴能被证明。