我需要以编程方式编辑,编写或删除受保护的文件。在Windows中,如果我手动执行,它会请求权限,在Unix系统中我需要“sudo”。
如何在Java中询问执行期间的更高权限?
答案 0 :(得分:2)
如果您的程序需要高级别访问权限,最好建议用户需要以root用户身份运行它/特权帐户才能运行。 否则,最好的选择是启动一个新的“代理进程”,使用“sudo”初始化,然后执行你想要的程序,例如“sudo cp File1 File2”,它将为你执行肮脏的工作。 不幸的是,这不是跨平台的,需要用户密码。 在执行期间,您根本无法将JVM碰到更高的用户,因为这会带来巨大的安全风险。
md_5
答案 1 :(得分:0)
由于Java使用虚拟机,因此您不能仅以高架模式启动(例如)另一个线程。相反,您需要启动一个全新的虚拟机,您将无法连接到该虚拟机。
我将研究如何执行可以使用提升的权限运行的单独Java进程。你仍然可以使用相同的代码,但它是一个主要的方法。
你将无法提高你的权利。
我可能完全错了,很高兴以其他方式表现出来。