gpt4 book ai didi

Java 默认的 SecurityManager 策略

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:11 24 4
gpt4 key购买 nike

我是 SecurityManager 的初学者。我一直在尝试使用 Java SecurityManager 在 linux 中对一些不受信任的代码(应该是非常简单的代码,比如计算权重等)进行沙盒处理。我使用命令 java -Djava.security.manager 来运行 .class 文件。

让我感到困惑的一件事是:有人说 SecurityManager 的默认策略几乎允许所有操作,您需要编写自己的策略来拒绝一些有风险的操作(例如从磁盘读取/写入文件);而其他一些人说默认策略实际上拒绝每一个冒险行为,如果你需要允许一些冒险行为,你可以为该行为编写自己的策略。

我的问题是:

  1. 哪个是对的? (我没有找到默认的策略文件)
  2. 就我而言,我真的需要编写自己的安全策略吗?或者编写自己的安全策略有什么好处?

附言。我实际上想拒绝所有冒险行为。因此,如果默认策略是拒绝所有冒险操作,我想我会使用默认的 SecurityManager。

最佳答案

默认的安全策略非常严格。您可以在 java.home/lib/security/java.policy

查看您的默认 java 策略

grant { ... }; block 中未包含的适用于所有域的所有内容,例如 java.io.FilePermissions,均未授予你运行的任意代码。

Java 安全策略文件不支持“拒绝”配置,仅支持grant。这就是从一个相对严格的文件开始是有意义的部分原因,用户可以在该文件之上添加用户或应用程序策略文件。

引用:http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

关于Java 默认的 SecurityManager 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25132792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com