我正在编写一个调用不是我的库代码的Java程序;所以我在SecurityManager中运行该程序只有最低要求的权限。
我只需要在方法main()的前几行中只需要一个特殊的权限......然后再也不会。
在Java中是否可以 减少 执行某个时间点的权限?
我的理解(我希望这是正确的)是Apache httpd这样做,首先使用它的root权限绑定到端口80/443等,然后使用系统调用setuid()
(或类似的)来假设<对于程序的其余部分,em>较小的特权。原则上,我认为在Java VM中也是可能的。
答案 0 :(得分:0)
您可以使用自定义SecurityManager,例如......
System.setSecurityManager(new SecurityManager() {
@Override
public void checkPermission(Permission perm) {
...
});
现在,根据您要检查的权限或基于当前线程执行情况,您可以验证。
希望这很清楚。