linux java 安全设置_Java安全管理器

Java安全管理器处理必要的权限检查。缺省的实现是Java.lang.SecurityManager类中,如有必要可以派生出子类或取代之。对于不安全的行为,Java就会强制安全管理器进行安全检查。

安全管理器是如何工作的:

你的代码调用需要权限的代码,如new FileInputStream("filename")

那代码就会调用安全管理器检查权限

安全管理器决定权限是否允许。这通常(而不是必须的)会与java.security.AccessController交互。如果没有权限,就会出现运行异常:java.lang.SecurityException,否则不会返回异常而正常运行。安全管理器会监督整个执行线程已确保每个类都有相应权限。

如果没有异常,说明有足够的权限,程序将继续正常运行。

设置安全管理器有2个常用的方法

执行命令    java -Djava.security.manager FileWriteTest

程序中指定

SecurityManager security = new SecurityManager();

System.setSecurityManager(security);

Java.policy文件

某些权限必须赋予类,这是在java.policy文件中定义,java.policy文件保存在目录$JAVA_HOME/jre/lib/security中。

Java中的权限

Java本身定义了许多权限,顶层类包括:

java.security.AllPermission—对所有文件都有的全部权限

java.security.BasicPermission—大多数简单权限的超类

java.io.FilePermission—文件读写权限

java.net.SocketPermission—打开连接远程计算机的包,并用DNS解析主机名

BasicPermission有许多派生类定义其他权限

javax.sound.sampled.AudioPermission—访问音频函数的权限,如播放、录音等。

javax.awt.AWTPermission—与图形有关的行为的权限,比如访问剪贴板或读AWT事件。

java.net.NetPermission—处理URL的权限,必然增加一个口令认证。

java.util.PropertyPermission—读写系统属性的权限。

java.lang.reflect.ReflectPermission—使用reflection的权限。

java.lang.RuntimePermission—运行时安全元素的权限,比如设置类装载器或安全管理器。

java.security.SecurityPermission—安全元素的权限,像安全策略和加密服务。

java.io.SerializablePermission—读写可序列化对象的权限。

java.sql.SQLPermission—设置SQL日志的权限。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值