我正在运行一个有点受信任的 J2SE 应用程序(Minecraft),但可能包含完全不受信任的(甚至可能是一些敌对的)插件。
我想创建一个可以访问 Raspberry PI 上的 GPIO 引脚的插件。
我见过的每个解决方案都需要为这样的应用程序提供 sudo-superpowers,因为 gpio 是通过直接内存访问来访问的。
看起来正确的解决方案是提供这样的命令行选项:
-Djava.security.policy=java.policy
这似乎默认您没有权限(甚至访问文件和高端口),然后将您的应用程序需要的权限添加回策略文件中。
实际上,您似乎在赋予 Java“sudo”权力,然后信任 java 的安全模型只为各种类赋予适当的权力。我猜这使得应用程序可以安全地使用 sudo 运行——这是正确的吗?
有趣的是,自从 1.0 以来,我几乎每天都在使用 Java,而以前从未需要过它……你每天都会学到新东西。