Linux基础知识(selinux的初级管理)

selinux

一、简单了解selinux

  1. selinux内核级加强型火墙
    起到限制服务功能,限制服务访问两个功能(在使用lftp访问时体现)
    CONTEXT 安全上下文
    程序安全上下文和文件安全上下文匹配时访问被允许
    程序安全上下文和文件安全上下文不匹配时访问不被允许
    getsebool 功能开关
    对服务 功能开关
    对文件 安全标签
  2. 查看selinux的状态
    执行getenforce
    在这里插入图片描述
    修改状态编辑vim /etc/sysconfig/selinux
    在这里插入图片描述
    SELINUX=enforcing开启
    在这里插入图片描述
    reboot重新启动虚拟机
    再次查看
    在这里插入图片描述
  3. selinux分为三个级别:分别是开启(Enforing也就是强制),警告(Permissive),和关闭(disable)。由前两个级别向第三个级别相互转换时,在配置文件里改变后要重启机器才能生效,而前两个级别可以在线做转换,如下图:
    getebforce可以查看selinux的状态,setenforce改变selinux的状态,跟0转换到警告状态,跟1转换到强制状态
    [root@localhost ~]# touch /mnt/westosfile1       在mnt下建立文件
    [root@localhost ~]# mv /mnt/westosfile1 /var/ftp/  移动是重命名的过程权限不会改变
    [root@localhost ~]# lftp 172.25.254.203                     
    lftp 172.25.254.203:~> ls
    drwxr-xr-x    3 0        0              54 Aug 03  2015 pub    远程登陆后不能看到文件
    lftp 172.25.254.203:/> quit
    [root@localhost ~]# cd /var/ftp/       退出后进入该目录下查看确实存在该文件
    [root@localhost ftp]# ls
    pub  westosfile1
    [root@localhost ftp]# cd
    [root@localhost ~]# setenforce 0       警告模式,不会被拒绝
    [root@localhost ~]# getenforce          
    Permissive
    [root@localhost ~]# lftp 172.25.254.203      
    lftp 172.25.254.203:~> ls
    drwxr-xr-x    3 0        0              54 Aug 03  2015 pub         
    -rw-r--r--    1 0        0               0 Nov 06 12:22 westosfile1  警告模式下可以看到文件   
    lftp 172.25.254.203:/> quit
    [root@localhost ~]# setenforce 1      切换到强制模式下
    [root@localhost ~]# getenforce 
    Enforcing
    [root@localhost ~]# lftp 172.25.254.203
    lftp 172.25.254.203:~> ls                          
    drwxr-xr-x    3 0        0              54 Aug 03  2015 pub  强制模式下无法查看文件
    lftp 172.25.254.203:/> quit
    [root@localhost ~]# 

在这里插入图片描述
在这里插入图片描述
当切换到警告模式下查看警告日志
查看警告日志cat /var/log/audit/audit.log
清空日志 > /var/log/audit/audit.log
在这里插入图片描述

二、安全上下文

一、临时设置安全上下文
实验步骤:
cd /mnt进入mnt
在这里插入图片描述
touch westosfile1 建立新的文件
在这里插入图片描述
mv /mnt/westosfile1 /var/ftp 移动文件到/var/ftp目录下
在这里插入图片描述
lftp 172.2.5.254.203 远程登陆
ls 查看不会显示文件
在这里插入图片描述
当cd /var/ftp该目录下查看
ls 有文件
在这里插入图片描述
查看ls -Zd /var/ftp目录下的安全上下文
在这里插入图片描述
chcon -t public_content_t westosfile1 临时设置安全上下文对应
在这里插入图片描述
ls -Z 查看临时设置是否对应
在这里插入图片描述
lftp 172.25.254.103远程登陆
ls查看
在这里插入图片描述
出现westosfile1文件临时设置成功
注意:将/etc/sysconfig/selinux改为disable后重启,重启后再改为enforcing再次重启,表示将selinux重启。临时改的文件安全上下文就没有了。

二、永久设置安全上下文
设置步骤:
编辑配置文件vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述
anon_root=/ftphome 添加
在这里插入图片描述
重新启动服务
在这里插入图片描述
ls -Zd /ftphome 查看/ftphome的默认安全上下文
在这里插入图片描述
chcon -t public_content_t /ftphome/ -R 修改该目录临时上下文
在这里插入图片描述
ls -Zd /ftphome/ 查看是否修改成功
在这里插入图片描述
ls -Zd /var/ftp/ 查看/var/ftp进行对比
在这里插入图片描述

semanage fcontext -a -t public_content_t '/ftphome(/.*)?'  -a 添加;-t 类型;(/ 本身内容;.* 所有隐藏文件;)

在这里插入图片描述
semanage fcontext -l | grep /ftphome 查看默认 /ftphome安全上下文列表
在这里插入图片描述
restorecon -RvvF /ftphome 刷新修改的/ftphome -R递归
在这里插入图片描述
reboot 重新启动
测试:lftp 172.25.254.203
ls查看 出现文件
在这里插入图片描述
永久设置安全上下文成功

三、管理selinux的布尔值

  1. selinux匿名文件的上传
    首先touch /etc/123在etc下建立文件
    在 setenforce 0 警告状态下匿名文件的上传
    setenforce 0
    [root@localhost ~]# getenforce 查看
    Permissive
    在这里插入图片描述
    getsebool -a | grep ftp 查看ftp的功能状态
    在这里插入图片描述
    在这里插入图片描述
    setsebool -P ftp_home_dir on开启建立目录功能(默认OFF)
    在这里插入图片描述
    vim /etc/vsftpd/vsftpd.conf编辑配置文件
    在这里插入图片描述
    anon_upload_enable=YES
    在这里插入图片描述
    systemctl restart vsftpd重新启动服务
    在这里插入图片描述
    chgrp ftp /var/ftp/pub/匿名用户默认身份ftp 更改组
    chmod 775 /var/ftp/pub/更改权限
    在这里插入图片描述
    测试:
    在这里插入图片描述

  2. 当setenforce 1匿名用户强制状态下文件上传
    touch /etc/456
    setsebool -P ftpd_anon_write on 开启匿名用户写功能
    在这里插入图片描述
    ls -Zd /var/ftp/pub/ 查看
    在这里插入图片描述
    chcon -t public_content_rw_t /var/ftp/pub/给上下文加rw权限
    在这里插入图片描述
    ls -Zd /var/ftp/pub/查看是否生效
    在这里插入图片描述
    测试:
    在这里插入图片描述

四、selinux的日志文件

selinux日志文件保存在 /var/log/audit/audit.log
cat /var/log/audit/audit.log 查看selinux的日志
在这里插入图片描述
selinux的问题解决方案被采集在 /var/log/messages
cat /var/log/messages 查看selinux的问题解决方案
在这里插入图片描述
在这里插入图片描述
rpm -qa | grep setroubleshoot 查看所有setroubleshoot的包
在这里插入图片描述

setroubleshoot-server.x86_64 软件将selinux的问题解决方案采集到/var/log/messages
当系统有setroubleshoot-server.x86_64 软件就会采集selinux问题解决方案到/var/log/messages里
当系统没有setroubleshoot-server.x86_64 软件就不会采集selinux问题解决方案到/var/log/messages里
当卸载setroubleshoot-server.x86_64 该软件不会采集selinux问题解决方案到/var/log/messages里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当再次安装setroubleshoot-server.x86_64 软件系统就会采集selinux问题解决方案到/var/log/messages里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/excellent_L/article/details/83793962