2012-07-23 78 views
3

我不想在我的java主目录中修改任何内容,但是,我担心有时我的默认java.policy文件可能太宽松了。当我使用-Djava.security.manager选项运行java时,是否有办法让我使用指定的策略文件作为唯一的策略文件?运行没有默认java.policy文件的Java安全管理器

如果我添加一个-Djava.security.policy=myPolicy.policy选项,它将使用我的策略文件以及默认策略文件 - 这很糟糕,因为它看起来像默认策略文件中授予的所有权限仍然被授予。

回答

9

A Common Mistake with Java SecurityManager

java -Djava.security.manager Main

    • 要使用安全管理器和默认的Java安全策略,这 是$ JAVA_HOME/JRE/lib/security中/ java.policy中运行要使用SecurityManager和 只运行您的自定义安全策略(忽略默认的java安全性 政策):

      java -Djava.security.manager -Djava.security.policy==security.policy Main

    • 要使用安全管理器和默认的Java安全策略运行 第一,那么你的自定义安全策略:

      java -Djava.security.manager -Djava.security.policy=security.policy Main

    • 如果你不想要一个安全管理器,那么只需将 java.security.policy留出,以避免混淆。

  • +0

    哇......我不会期望能够工作,所以反直觉地使用==作为执行者。 – TacB0sS 2017-01-22 07:51:44