13.Linux学习--selinux

13.1 selinux功能

selinux关闭状态:

在/mnt/中建立文件文件安全上下文为空文件被移动到ftp默认发布目录中可以被访问

13.Linux学习--selinux

13.Linux学习--selinux

ftp程序安全上下文为空 用户可以上传文件

13.Linux学习--selinux

 当selinux开启时,以上操作均失败

13.Linux学习--selinux

13.Linux学习--selinux

  • selinux:内核级加强型火墙
  • selinux功能: 当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文
  • 特定安全上下文的程序只能访问特定安全上下文的文件

当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性

当需要此功能时需要超级用户手动调节
 

13.2 selinux状态

getenforce ##查看selinux状态

13.Linux学习--selinux
 
状态类型:

  1. Disabled ##关闭
  2. enforcing ##强制
  3. permissive ##警告 
  • setenforce 0|1 ##0表示警告模式 1表示强制模式 

selinux开关:

vim /etc/sysconfig/selinux 

13.Linux学习--selinux

SELINUX=[selinux的状态]

reboot    #当Disabled(被)转换[enforcing|permissive] 都需要重启系统

 

13.3 安全上下文

1. 安全上下文的临时更改

  • chcon -t     安全上下文   文件
  • chcon -R -t 安全上下文  目录
chcon -t public_content_t testfile 

13.Linux学习--selinux
 lftp 访问服务器会发现此文件可被访问成功

13.Linux学习--selinux
 
2. 永久更改目录或文件的安全上下文

mkdir /ftpuserdir/testdir

设定test用户登陆ftp服务时默认家目录为/ftpuserdir

当用test用户登陆ftp时/ftpuserdir中的内容无法访问,因为selinux安全上下文不匹配

13.Linux学习--selinux

semanager fcontent -l | grep /ftpuserdir ##内核安全上下文列表中无信息

semanager fcontent -a -t public_content_t  /ftpuserdir'(/.*)?'  ##此命令只添加列表信息,当前不生效

13.Linux学习--selinux

restorecon -RvvF /ftpuserdir/ ##刷新文件安全上下文

13.Linux学习--selinux

13.Linux学习--selinux

 

13.4 sebool

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

  • getsebool -a | grep ftp ##查看ftp的功能开关

13.Linux学习--selinux

  • setsebool -P ftpd_anon_write=1|on ##表示开启此匿名用户写的功能

13.Linux学习--selinux

13.5 setrouble

yum install setroubleshoot-server.x86_64

13.Linux学习--selinux

sealert -a  /var/log/audit/audit.log ##分析日志并提供解决方案

13.Linux学习--selinux

 

13.Linux学习--selinux13.Linux学习--selinux Rainable 发布了15 篇原创文章 · 获赞 2 · 访问量 837 私信 关注
上一篇:SELinux 入门详解


下一篇:现代程序设计 homework-05