使用root运行java_在以root用户身份运行的Java线程中,我们如何...

使用SecurityManager!

>将当前的Unix用户ID放入ThreadLocal

>创建您自己的SecurityManager来检查对checkRead()和checkWrite()的Unix用户权限

> System.setSecurityManager(new MySecurityManager())

>享受

更新资料

当然,没有标准库可读取unix文件权限.不是WORA.

但是我曾尝试过简短地找到一个随时可用的库,并找到了这个库:

http://jan.newmarch.name/java/posix/它使用JNI,但是您无需编写自己的JNI代码,这是一个很大的缓解. :)我敢肯定也有其他人.

更新2

就像人们提到的那样,这种方法无法检查“非标准”的Unix安全功能,例如ACL或Posix功能(可能;不确定是否适用于文件).但是,如果设定了与主机操作系统安全性完全同步的目标,那么我们甚至需要使用SecurityManager,因为它是JVM范围的保护机制!是的,我们可以启动子SUID进程来验证权限(并保持其运行,并在用户登录时通过管道运行与之对话),但是我们需要从SecurityManager进行操作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值