zoukankan      html  css  js  c++  java
  • selinux简介

    selinux简介
    SElinux在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。
    DAC 是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为MAC运行的时候,比如一个应用程序或者一个线程以某个用户UID或者 SUID运行的时候同样对一些其他的对象拥有访问控制限制,比如文件,套接子(sockets)或者其他的线程通过运行SElinux
    MAC内核可以保护系统不受到恶意程序的侵犯,或者系统本身的bug不会给系统带来致命影响(把影响限定在一定范围内)SElinux为每一个用户,程序,进程,还有文件定义了访问还有传输的权限。然后管理所有这些对象之间的交互关系。
    对于SELinux设定的对象全限是可以根据需要在安装时候规定严格程度,或者完全禁用
    在大多数情况下,SElinux对于用户来说是完全透明的,普通用户根本感觉不到Selinux的存在,只有系统管理员才需要对这些用户环境,以及策略进行考虑。这些策略可以按照需要宽松的部署或者应用严格的限制,Selinux提供了非常具体的控制策略,范围覆盖整个linux系统
    比如,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存(AVC),从这里寻找目标和对象的权限,如果在这里没有发现权限定义,则继续查询安全定义的上下关联,以及文件权限,然后作出准许访问以及拒绝访问的决定。如果在var/log/messages出现avc:
    denied信息,则表明访问拒绝。
    目标和对象通过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。
    除了运行强制模式以外,SELinux可以运行在许可模式,这时候,检查AVC之后,拒绝的情况被记录。Selinux不强制使用这种策略.
    以下介绍一下SELinux相关的工具
    /usr/bin/setenforce 修改SELinux的实时运行模式
    setenforce 1 设置SELinux 成为enforcing模式
    setenforce 0 设置SELinux 成为permissive模式
    如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0
    ,或者在/etc/grub.conf中添加这个参数
    /usr/bin/setstatus -v
    察看系统的状态
    以下是运行输出,请参考
    SELinux status: enabled
    SELinuxfs mount: /selinux
    Current mode: enforcing
    Policy version: 18


    不重启关闭selinux的解决办法:
    执行命令:setenforce 0

    在新版本中的Red Hat 和 Fedora 上,修改档案/etc/sysconfig/selinux:
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - SELinux is fully disabled.
    SELINUX=enforcing

    # SELINUXTYPE= type of policy in use. Possible values are:
    # targeted - Only targeted network daemons are protected.
    # strict - Full SELinux protection.
    SELINUXTYPE=targeted

    把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。
    Linux核心参数(Kernel Parameter)

    或者可以在核心参数后加上: selinux=0 (停止) 或 selinux=1 (开启)参数

    档案/boot/grub/menu.lst

    title Fedora Core (2.6.18-1.2798.fc6)
      root (hd0,0)
      kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0
      initrd /initrd-2.6.18-1.2798.fc6.img

    检查SELinux现时况态

    要知到你现在是否使用 SELinux:

    # getenforce
    disabled

  • 相关阅读:
    maven打包额外的资源文件
    阿里巴巴的程序员等级
    sql是最成功的第四代语言
    nginx的配置与应用
    浏览器的同源策略与跨域问题的解决方案
    算法:二分查找(基础)
    动态类型语言和静态类型语言
    【VS开发】单文档中往视图中加入控件
    【VS开发】使用VS2010创建MFC ActiveX工程项目
    【VS开发】使用VS2010创建MFC ActiveX工程项目
  • 原文地址:https://www.cnblogs.com/holyes/p/975a001ece3d3c3526b5136c2dd9ab30.html
Copyright © 2011-2022 走看看