管理Linux中的selinux

#########################

1.selinux功能

#########################
selinux:内核级加强型火墙

当seliux关闭状态:
在/mnt/中建立文件文件安全上下文为空文件被移动到ftp默认发布目录中可以被访问
在这里插入图片描述
ftp程序安全上下文为空
在这里插入图片描述
且用户可以上传文件
在这里插入图片描述
当selinux开启后,重启系统,会发现多了以下三行内容
在这里插入图片描述
上下文出现,移动file2 到/var/ftp/是显现不出来:
在这里插入图片描述
在这里插入图片描述
则selinux功能:
当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文 的文件

当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全
性,当需要此功能时需要超级用户手动调节
在这里插入图片描述
在这里插入图片描述
看出匿名用户上传功能已经关闭。

#########################

2.selinux状态

#########################
getenforce            ##查看selinux状态
状态类型:
Disabled             ##关闭
enforcing            ##强制,限制而且警告
permissive           ##警告,不限制

当状态为enforcing时,我发访问/mnt/file2 文件,而且会受到警告的消息,
在这里插入图片描述
setenforce 0 设置为警告模式        ##0表示警告模式 1表示强制模式
在这里插入图片描述
则会看到file2文件,但还是会收到警告。

selinux开关:
vim  /etc/sysconfig/selinux
SELINUX=[selinux的状态]
在这里插入图片描述
reboot     #当Disabled <----> [enforcing|permissive] 都需要
重启系统
#########################

3.安全上下文

#########################
1.安全上下文的临时更改
chcon -t 安全上下文 文件
chcon -R -t 安全上下文 目录
在这里插入图片描述
更改上安全下文后,file2文件在lftp 访问服务器会发现此文件可被访问成功
临时更改,重启后会恢复默认。

2.永久更改 目录或文件 的安全上下文
mkdir /westos
设定 thermal 用户登陆ftp服务时默认家目录为/westos,在其下建立 file{1…3}文件。
当用 thermal 用户登陆ftp时 /westos 中的内容无法访问,因为 selinux 安全上下文不匹配

semanager fcontent -l | grep /ftpuserdir /var/ftp

内核安全上下文列表中无/westos信息,有/var/ftp/的信息:

在这里插入图片描述
semanager fcontent -a -t public_content_t /ftpuserdir’(/.)?’   ## (/.)? 表示目录中将要出现的内容
                            ##此命令只添加列表信息,当前不生效
                            在这里插入图片描述
## 注意()为特殊字符,要用单引号引起来,-a 添加,-t 指定内容,重新查看列表出现westos的安全上下文
此时我们查看 /westos 的目录是否改变:
在这里插入图片描述
没有改变,则此时我们应刷新安全上下文
restorecon -R v v F /westos/ ##刷新文件安全上下文
在这里插入图片描述
在这里插入图片描述
此时本地用户可以看见/westos 下的内容
#########################

4.sebool

#########################
SEBOOL:
selinux 对服务功能能添加的开关

  1. 当selinux开启时,匿名用户无法上传文件
    在这里插入图片描述
    2.修改/var/ftp/pub,目录的权限为777
    在这里插入图片描述
    还是无法上传。
    3.修改上下文可写
    原来:
    在这里插入图片描述
    现在:
    在这里插入图片描述
    在这里插入图片描述
    发现仍然无法上传
    4. getsebool -a | grep ftp     ##查看ftp的功能开关
    在这里插入图片描述
  2. setsebool -P ftpd_anon_write=1|on       ##表示开启此匿名用户写的功能,-P,永久设定
    在这里插入图片描述
    再上传文件:
    在这里插入图片描述
    上传成功。

#########################

5.setrouble

#########################
/mnt/建立文件,传到 /var/ftp/pub 在访问ftp时看不到上传的文件:
在这里插入图片描述
下载 setrouble:
dnf install setroubleshoot-server-3.3.19-1.el8.x86_64 -y
然后使用sealert命令,即可看到问题喝解决方案
在这里插入图片描述
sealert -a /var/log/audit/audit.log     ##分析日志并提供解决方案
利用上述提供的解决方案,即可解决问题
在这里插入图片描述
可以看出文件test出现

发布了36 篇原创文章 · 获赞 13 · 访问量 1463

猜你喜欢

转载自blog.csdn.net/thermal_life/article/details/104441088
今日推荐