这个问题不像告诉我使用runas那么简单;请在回答之前阅读问题。setuid()在Windows上相当于Java的
当我用C在UNIX/Linux,并希望写一个程序,以提升的权限运行,我用这个流程:
- 程序启动。
- 进程使用setuid()降低权限。
- 过程没有无特权的工作。
- 进程使用 setuid()提高权限。
- 进程执行特权工作,例如打开 受限制的文件。
- 进程使用setuid()降低权限。
该流程的关键部分是该进程在启动后立即降低其权限,并且仅提升其特权足够长时间才能完成相应的工作。
如何在使用Java的Windows上做类似的事情?
我的具体用例是我想读取和写入受保护的文件,以便程序的用户访问文件的唯一方法是通过我的Java程序。我不想用管理员权限运行整个进程来保护一些文件。
你不能在100%的Java。毕竟,你不能在Linux上使用Java来完成它。 – bmargulies