什么是SELinux?

     SELinux(Security-Enhanced Linux)是linux系统中强制访问控制模块,是linux历史上最杰出的新安全子系统,由NSA(美国国家安全局)和linux社区共同开发出来的,它是一种访问控制体系,在这种访问控制体系下,进程只能访问进程任务中需要的文件。默认安装在 Fedora 和 Red Hat Enterprise Linux 上。也可安装在其他linux 发行版本上。

       SELinux 是2.6及更高版本的linux  内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,已作为linux内核模块,包含在linux 内核中。启用该访问模块,进程无法随意访问不包含在任务之中的文件,或路径。

基本操作

1.1 获取运行状态  sestatus

[root@yj138 sysconfig]# sestatus
SELinux status:                 disabled
[root@yj138 sysconfig]# 

当前是禁用的。

1.2 启动和禁用

       由于SELinux 整合到Linux核心里了,如果由 enforcing 或 permissive模式改成 disabled,或由 disabled 改成其他两个,系统必须要重新启动;在 SELinux运行(enforcing或permissive模式)时,只能在enforcing和permissive模式切换,不能够直接关闭 SELinux,只能通过修改配置文件,然后重启系统。 
    在 SELinux关闭(disabled)时,setenforce命令不能设置Enforcing或Permissive模式,只能通过修改配置文件来设置,然后重启系统。

  配置文件地址   /etc/selinux/config     

 这里需要注意   /etc/sysconfig/selinux 是 /etc/selinux/config的软链接,进入目录 /etc/sysconfig可查看

ls -al

-rw-r--r--.   1 root root   553 Feb 27  2015 saslauthd
lrwxrwxrwx.   1 root root    17 Jul 31 00:55 selinux -> ../selinux/config
-rw-r--r--.   1 root root   125 Oct 21  2016 smartmontools

 如果修改 /etc/sysconfig/selinux 文件,导致软链接破坏,直接变成普通文件, 系统将依据 /etc/selinux/config 配置selinux.  因此如果需要修改selinux的状态,请直接修改  /etc/selinux/config 文件

vim /etc/selinux/config

SELINUX=enforcing  // 默认为enforcing,可设置为enforcing、permissive、disabled中的一项。
SELINUXTYPE=targeted // 目前只能设置成targeted、mls中的一项

注意:
1)如果从 disable 切换到enforcing或permissive模式时,由于系统必须要针对文档写入安全性本文的信息,因此开机过程会花费不少时间在等待重新写入 SELinux 安全性本文 (有时也称为 SELinux Label),而且在写完之后还得要再次的重新启动。 
2)如果已经运行在Enforcing模式,但是可能由于SELinux的设置问题,导致某些服务无法正常的运行,此时可以将Enforcing 模式改为Permissive模式,让 SELinux只会警告无法顺利联机的信息,而不是直接阻挡主体程序的读取权限。

1.3 获取selinux的变量

getsebool -a | grep samba //获取和samba安全性设置有关的布尔值

bacula_use_samba --> off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off

1.4 设置配置

setsebool -P samba_enable_home_dirs=1

另外一种方式获取 变量

 getsebool samba_enable_home_dirs
samba_enable_home_dirs --> on

参考博客

http://www.cnblogs.com/pandachen/p/7624788.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SELinux(Security-Enhanced Linux)是一种安全增强的Linux操作系统,它提供了强制访问控制(MAC)机制,用于保护系统资源和数据的安全性。SELinux通过在Linux内核中实施访问控制策略来限制进程的权限,从而减少系统受到恶意软件和攻击的风险。 SELinux的核心思想是基于策略的访问控制(Policy-based Access Control),它通过定义安全策略来规定哪些进程可以访问哪些资源,以及以何种方式进行访问。这种策略是在系统启动时加载的,并且可以根据需要进行配置和修改。 SELinux的工作原理是通过标签(Label)来标识和控制系统中的对象,包括文件、进程、网络端口等。每个对象都有一个唯一的标签,而访问控制策略则定义了哪些标签可以与其他标签进行交互。当进程尝试访问某个资源时,SELinux会根据策略检查该进程的标签和目标资源的标签是否匹配,从而决定是否允许访问。 SELinux提供了三种基本的安全上下文(Security Context):用户安全上下文(User Security Context)、角色安全上下文(Role Security Context)和类型安全上下文(Type Security Context)。这些安全上下文用于定义对象的安全属性,以及对象之间的访问规则。 总结一下,SELinux是一种在Linux操作系统中实施强制访问控制的安全机制,通过定义策略和标签来限制进程对系统资源的访问,提高系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值