Linux自学笔记——Selinux简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux自学笔记——Selinux简介相关的知识,希望对你有一定的参考价值。


 

 

SElinux是美国国家安全局(NSA)对于强制访问控制的实现,是linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发的一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在它的任务中所需要的文件。SElinux默认安装在Fedora和RedHat Enterprise Linux上,也可以作为其他发行版上容易安装的包得到。

      DAC,自主访问控制,任何程序对其资源享有完全的控制权,每个用户或进程可以随意修改自己的文件的权限,将其他权限授予给其他人而具有任意的访问权限、所有/组+权限标记通常称为自主访问控制。

      MAC,强制访问控制,一个进程能否访问某个资源,取决于运行这个进程的用户权限已经访问的资源的属主属组等属性。

Selinux有两种工作级别:

      Strict:每个进程都受到selinux的控制;

      Targeted:仅有限个进程收到selinux控制,只监控容易被入侵的进程;

Sandbox:subject operationobject

Subject:(主)process…:进程

Object:(宾)directory…:进程,文件,

  文件:open,read,write,close,chown,chmod

Subject:domain

Object:type

Selinux为每个文件提供了安全标签,也为进程提供了安全标签;

  user:role:type

  user:selinux的user

  role:角色

  type:类型

通过ls –Z可以查看文件的标签:

 技术分享

同样可以查看进程的selinux属性:

 技术分享

      selinux规则库:

           规则:哪种域能访问哪种或哪些种类型的文件;

配置selinux:

      Selinux是否启用;

      给文件重新打标;

      设定某些布型特性;

Selinux的状态:

      enforcing:强制,每个受限的进程都必然受限;

      permissive:启用,每个受限的进程违规操作不会被禁止,而被记录在审计日志中;

      disabled:关闭;

相关命令:

      getenforece:获取selinux的当前状态;

      setenforce   0|1

           0:设置为permissive

           1:设置为enforcing

      技术分享

      此设定重启系统无效,并且在selinux不处于disabled状态才能设定;

      技术分享

      配置文件:/etc/sysconfig/selinux,/etc/selinux/config

                 SELINUX=[disabled][enforcing][permissive]

      技术分享

给文件重新打标:

chcon命令:

      chcon - change file SELinux securitycontext

chcon [OPTION]... CONTEXTFILE...

              chcon[OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...

                 chcon[OPTION]... --reference=RFILE FILE...

                 -R:递归打标; 

                 --reference=FILE:以FILE的标签为参照类型

                 -t TYPE:修改指定类型

                 -u:修改指定user

                 -r:修改指定role

       技术分享

恢复默认标

restorecon[-R] /path/to/somewhere

      技术分享

布尔型规则:

      getsebool命令:

           getsebool [-a] [boolean]

      技术分享

      setsebool

           setsebool [ -PV] boolean value |bool1=val1 bool2=val2 ...

      技术分享


以上是关于Linux自学笔记——Selinux简介的主要内容,如果未能解决你的问题,请参考以下文章

自学it18大数据笔记-第二阶段Linux-day1——会持续更新……

Linux自学笔记——openssh

Linux自学笔记——LAMP

Linux自学笔记——linux文件系统

Linux自学笔记:Linux文件系统及文件类型

Linux自学笔记:Linux基础命令