這個問題不像告訴我使用runas那麼簡單;請在回答之前閱讀問題。setuid()在Windows上相當於Java的
當我用C在UNIX/Linux,並希望寫一個程序,以提升的權限運行,我用這個流程:
- 程序啓動。
- 進程使用setuid()降低權限。
- 過程沒有無特權的工作。
- 進程使用 setuid()提高權限。
- 進程執行特權工作,例如打開 受限制的文件。
- 進程使用setuid()降低權限。
該流程的關鍵部分是該進程在啓動後立即降低其權限,並且僅提升其特權足夠長時間才能完成相應的工作。
如何在使用Java的Windows上做類似的事情?
我的具體用例是我想讀取和寫入受保護的文件,以便程序的用戶訪問文件的唯一方法是通過我的Java程序。我不想用管理員權限運行整個進程來保護一些文件。
你不能在100%的Java。畢竟,你不能在Linux上使用Java來完成它。 – bmargulies