#1.selinux
内核级加强型防火墙
1)针对文件,会对系统中每个文件添加安全上下文(context)
2)针对进程,会对系统中的每个进程添加安全上下文(context)
3)会在系统服务上设定sebool开关
4)当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
5)sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值

#2.管理selinux
1)selinux的开关
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,并且级别为强制
SELINUX=permissive ##selinux开启,并且级别为警告
SELINUX=disabled ##selinux关闭

注意:当linux从关到开,或者从开到关,需要重启系统

2)selinux中对文件安全上下文的设定

[root@localhost ~]# touch /mnt/file
[root@localhost ~]# mv /mnt/file /var/ftp
[root@localhost ~]# touch /mnt/file1
[root@localhost ~]# cp /mnt/file1 /var/ftp/

[kiosk@foundation30 Desktop]$ lftp 172.25.254.130
lftp 172.25.254.130:~> ls ##file1是复制过来的,ftp服务的可以访问安全上下文public_content_t,file是移动过来的,ftp服务不能访问安全上文mnt_t,将他的安全上下文改为public_content_t就可以访问了,用chcon修改安全上下文public_content_t

-rw-r--r-- 1 0 0 0 Nov 11 03:49 file1
drwxr-xr-x 2 0 0 6 Aug 03 2015 pub
lftp 172.25.254.130:/> quit

[root@localhost ~]# ls /var/ftp/ -Z ##列出/var/ftp的安全上下文(由于file是移动过来的他的安全上下文还是原来的)
-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0 file
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 file1
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub
[root@localhost ~]# chcon -t public_content_t /var/ftp/file ##修改/var/ftp/file 的安全上下文为public_content_t,ftp就可以访问到了

[kiosk@foundation30 Desktop]$ lftp 172.25.254.130
lftp 172.25.254.130:~> ls
-rw-r--r-- 1 0 0 0 Nov 11 03:48 file ##fpt可以访问
-rw-r--r-- 1 0 0 0 Nov 11 03:49 file1
drwxr-xr-x 2 0 0 6 Aug 03 2015 pub
lftp 172.25.254.130:/> quit

##临时更改适用于更改文件
修改selinux的安全上下文
chcon -t 一次性定制安全上下文,执行restorecon刷新后还原 文件

[root@localhost ~]# mkdir /qq
[root@localhost ~]# touch /qq/qq{1..10}
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

[root@localhost ~]# systemctl restart vsftpd.service

[root@localhost ~]# chcon -t public_content_t /qq/
[root@localhost ~]# chcon -R -t public_content_t /qq/
reboot

内核级的安全上下文,用semanage fcontext -l查看
#永久修改更改安全上下文
semanage fcontext

[root@localhost ~]# semanage fcontext -a -t public_content_t

a:添加 t:类型
[root@localhost ~]# semanage fcontext -a -t public_content_t '/qq(/.)?' #更改此目录内核级的安全上下文
[root@localhost ~]# semanage fcontext -l | grep qq
/qq(/.
)? all files system_u:object_r:public_content_t:s0
[root@localhost ~]# ls -Zd /qq/ #列出目录的安全上下文
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 /qq/
[root@localhost ~]# restorecon -RvvF /qq/ #刷新安全上下文

[kiosk@foundation30 Desktop]$ lftp 172.25.254.130
lftp 172.25.254.130:~> ls
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq1
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq10
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq2
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq3
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq4
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq5
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq6
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq7
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq8
-rw-r--r-- 1 0 0 0 Nov 11 05:41 qq9
lftp 172.25.254.130:/> quit

#selinux的bool值的设定
管理selinux布尔值
selinux布尔值是更改selinux策略行为的开关。selinux是可以启用或禁用的规则。安全管理员可以使用selinux来调整策略,以有选择地进行调整。许多软件包都具有man page *_selinux(8),其中详细说明了所使用的一些布尔最值;man -k '_selinux' 可以轻松的找到这些手册
getsebool 用于显示布尔值
sebool值是控制服务功能开关,用于修改布尔值

getsebool -a | grep 服务名称

setsebool -P bool值 on|off

[root@localhost ~]# getsebool -a | grep ftp
ftp_home_dir --> off

[root@localhost ~]# setsebool -P ftp_home_dir on

p:永久
[root@localhost ~]# getenforce
Enforcing
[kiosk@foundation30 Desktop]$ lftp 172.25.254.130 -u student
Password:
lftp student@172.25.254.130:~> ls
lftp student@172.25.254.130:~> put /etc/passwd
2367 bytes transferred
lftp student@172.25.254.130:~> ls
-rw-r--r-- 1 1000 1000 2367 Nov 11 06:02 passwd
lftp student@172.25.254.130:~> quit

#selinux排错

监控selinux冲突
必须安装setroubleshoot-server软件包,才能将selliunx消息发送至/var/log/messages
setroubleshoot-server侦听/var/log/audit/audit.log中的审核信息并将简短摘要发送至/var/log/messages
/var/log/audit/audit.log 用于在该文件中生成所有事件的报告

转载于:https://blog.51cto.com/13363488/2048868

Linux中的selinux相关推荐

  1. Linux中关闭SELinux的方法

    Linux中关闭SELinux的方法 1.临时关闭:输入命令setenforce 0,重启系统后还会开启. 2.永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enf ...

  2. Linux中的SELinux详解--16

    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled)  几种模式之间的转换 在CentOS6.2 中安装intel 的c++和fortran 的编 ...

  3. 一文彻底明白linux中的selinux到底是什么

    一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国 ...

  4. linux中的selinux到底是什么,本篇文章彻底明白

    原文链接https://www.phpyuan.com/235739.html,本文加以修改,若有侵权,请联系删除 一.前言 安全增强型 Linux(Security-Enhanced Linux)简 ...

  5. Linux中的SELinux与chcon以及Samba实现【转】

    一.SELinux SElinux的前身是NSA(美国国家安全局)发起的一个项目.它的目的是将系统加固到可以达到军方级别. 为什么NSA选择Linux呢? 在目前市面上大多数操作系统都是商用闭源的,只 ...

  6. chcon mysql_Linux中的SELinux与chcon以及Samba实现【转】

    一.SELinux SElinux的前身是NSA(美国国家安全局)发起的一个项目.它的目的是将系统加固到可以达到军方级别. 为什么NSA选择Linux呢? 在目前市面上大多数操作系统都是商用闭源的,只 ...

  7. linux 7 没有权限访问,技术|RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

    RHCSA 认证:SELinux 精要和控制文件系统的访问 尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhance ...

  8. Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

    RHCSA 认证:SELinux 精要和控制文件系统的访问 尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhance ...

  9. linux基础配置脚本,Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...

最新文章

  1. 如何在SQL SELECT中执行IF…THEN?
  2. 《游戏服务器的架构演进》阅读笔记
  3. 现在社交APP发展如何?
  4. 基于正样本的表面缺陷检测
  5. json及JavaBean转json
  6. 算法的时间复杂度[ZT]
  7. Springboot集成JavaMailSender发送邮件
  8. 《AngularJS高级程序设计》学习笔记
  9. 怎么批量调色_100款一键批量商业影楼修图调色PS动作,让你成为P图高手!!
  10. Vue的全屏组件vue-fullscreen
  11. 通过 prosody 搭建 XMPP 服务器
  12. ESP8266 NonOS-SDK Web配网
  13. luogu 4234 最小差值生成树 LCT
  14. uni-app 调用讯飞语音。
  15. 微信小程序和抖音小程序的区别?如何选择?
  16. ECCV 2022 | 适用于分类,检测,分割的生成式知识蒸馏开源
  17. css:层叠样式表(全)
  18. 计算机操作培训图片,【图片】计算机学习之旅【汇编吧】_百度贴吧
  19. 如何利用excel计算百分位
  20. html页面中鼠标悬停更换图片

热门文章

  1. mysql003操作表DDL
  2. c++编写托管dll_教程:如何编写简单的网站并免费托管
  3. 徒手撸了个markdown笔记平台
  4. FFMPEG 视频图像解封装解码
  5. Android Studio 环境搭建参考,jdk10javac命令提示不是内部或外部命令
  6. 使用CMD命令修改Windows本地账户密码
  7. 整理iOS9适配中出现的坑
  8. Upgrade Hole puncher Mathematical Modeling
  9. 记一则Hadoop DataNode OOM故障,以及解决方案
  10. 驰骋表单设计器 设计表单案例演示