我可以更新Java的SecurityManager以在初始化后减少权限吗?

时间:2015-07-15 21:47:10

标签: java securitymanager

我正在编写一个调用不是我的库代码的Java程序;所以我在SecurityManager中运行该程序只有最低要求的权限。

我只需要在方法main()的前几行中只需要一个特殊的权限......然后再也不会。

在Java中是否可以 减少 执行某个时间点的权限?

我的理解(我希望这是正确的)是Apache httpd这样做,首先使用它的root权限绑定到端口80/443等,然后使用系统调用setuid()(或类似的)来假设<对于程序的其余部分,em>较小的特权。原则上,我认为在Java VM中也是可能的。

1 个答案:

答案 0 :(得分:0)

您可以使用自定义SecurityManager,例如......

System.setSecurityManager(new SecurityManager() {
        @Override
        public void checkPermission(Permission perm) {
            ...
    });

现在,根据您要检查的权限或基于当前线程执行情况,您可以验证。

希望这很清楚。