SELinux的管理

本文介绍了SELinux的基本概念,包括其工作模式、如何更改SELinux状态、显示及更改文件的安全上下文等核心内容,并详细讲解了通过semanage命令管理和设置SELinux上下文的方法。

selinux基本概念

SELinux(Security-Enhanced Linux安全增强型 Linux)是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
SELINUX有「disabled」「permissive」,「enforcing」3种选择。
Disabled即表示关闭。
permissive就是Selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来。在我们开发策略的时候非常的有用。相当于Debug模式。即警告状态。
Enforcing就是你违反了策略,你就无法继续操作下去,即表示强制。

更改selinux状态

selinux文件 /etc/sysconfig/selinux
vim /etc/sysconfig/selinux
reboot —————————–重启
这里写图片描述

getenforce————查看selinux状态
这里写图片描述

setenforce 0|1—————改变selinux状态,0为disabled,1为enforce

当为enforcing时,不能看到mv的文件
这里写图片描述
这里写图片描述

当为permissive时,可以看到mv的文件
这里写图片描述
这里写图片描述

更改文件的标签(安全上下文)

显示 SELinux 文件上下文

ps auxZ ———显示进程的安全上下文
ls -lZ ————显示文件的安全上下文

chcon临时更改安全上下文

在enforcing状态下则可以更改文件标签来看到mv的文件
chcon -t 文件标签 文件名
这里写图片描述
这里写图片描述

永久更改安全上下文

[root@localhost ~]# systemctl status vsftpd ####查看vsftp状态
[root@localhost ~]# firewall-cmd –list-all ####查看火墙名单
[root@localhost ~]# getenforce####查看selinux状态
这里写图片描述

[root@localhost ~]# mkdir /westos
[root@localhost ~]# touch /westos/file{1..4}
[root@localhost ~]# ls /westos/
file1 file2 file3 file4
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf ####更改匿名用户的家目录为/westos
[root@localhost ~]# systemctl restart vsftpd.service ####重启vsftpd服务
这里写图片描述

这里写图片描述

[root@localhost ~]# lftp 172.25.254.160 ####匿名用户访问时看不到/westos下的文件,原因是安全上下文不同
lftp 172.25.254.160:~> ls
lftp 172.25.254.160:/> ls
lftp 172.25.254.160:/> exit
这里写图片描述
[root@localhost ~]# ps auxZ | grep vsftpd ####显示vsftpd进程的安全上下文
[root@localhost ~]# ls -lZ /var/ftp/ ####查看/var/ftp的安全上下文
[root@localhost ~]# ls -lZ /westos/ ####查看/westos/的安全上下文
这里写图片描述

semanage 命令

semanage fcontext 可用与显示或修改 restorrecon 用来
设置默认文件上下文的规则
semanage fcontext 使用扩展正则表达式来指定路径和文件名。 fcontext 规则中最常用的扩展正则表达式是
(/.*)?, 表示随意地匹配 / 后跟任何数量的字符
[root@localhost ~]# semanage fcontext -l | grep westos####显示westos默认文件上下文的规则
[root@localhost ~]# semanage fcontext -l | grep /var/ftp/
这里写图片描述
[root@localhost ~]# semanage fcontext -a -t public_content_t ‘/westos(/.*)?’ ####修改westos的默认文件安全上下文,格式为’/westos(/.*)?’,必须加’ ‘表示符号,-a表示add添加,-t表示typy安全上下文类型
[root@localhost ~]# restorecon -RvvF /westos/ ####刷新配置
这里写图片描述
验证
这里写图片描述

管理selinux布尔值

SELinux 布尔值是更改 SELinux 策略行为的开关。
SELinux 布尔值是可以启用或禁用的规则。安全管理员可以使用 SELinux 布尔值来调整策略 , 以有选择地进行调整
getsebool 用于显示布尔值 , setsebool 用于修改布尔值setsebool -P 修改 SELinux 策略 , 以永久保留修改。
semanage boolean -l 将显示布尔值是否永久

[root@localhost ~]# getsebool -a | grep ftp ####用于显示ftp的布尔值
这里写图片描述
[root@localhost ~]# setsebool -P ftp_home_dir 1 ####修改ftp_home_dir的布尔值,1|on表示开启,0|off表示关闭,-P表示永久修改
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值