1.selinux

 

内核级加强型防火墙,配置文件子在 /etc/selinux/config  /etc/sysconfig/selinux。这两个改哪个都行。后者是个链接文件,链接到前者。

 

2.如何管理selinux级别

selinux开启或者关闭)

vim /etc/sysconfig/selinux

selinux=disabled##关闭状态

selinux=Enforcing##强制状态

selinux=Permissive##警告状态

 

getenforce##查看状态

selinux开启时

setenforce 0|1##更改selinux运行级别

 

3.简单改变文件的上下文

selinux_第1张图片 

 

注意:cp 能根据目录实时更新文件的上下文。而mv 会保留原来的上下文。如果上面的mv 换成 cp的话,lftp 就能看到file2

上面 最重要的两个命令是:ls -Z  /var/ftp/pub  这个-Z参数

chcon -t type file   也可以用 restorecn filename

 

(1)如果另外指定ftp的发布目录为/ftp

   需要在配置文件 /etc/vsftp/vsftp.conf 中加一行 anon_root = /ftp

selinux_第2张图片 

 

这时你看不到/ftp下新创建的文件,但是把selinux设置为permissive后就能看到了:

selinux_第3张图片 

 

所以之前看不到file1-5的原因是selinux 也就是上下文的原因。

 

wKioL1g0CXKATUiCAABQMWpFLW0191.png-wh_50 

 

(2)临时修改 /ftp下面的文件的上下文

  

修改之后,lftp就可以看到

selinux_第4张图片 

 

但是,刷新文件上下文时,文件的上下文又会变回原来的

selinux_第5张图片 

 

所以临时修改的不靠谱,需要永久改变

 

(3)永久改变目录和文件的上下文

 semanage fcontext -l 是列出目前系统中所有的上下文。

 

格式要像下面这样写 ‘/ftp(/.*)?’ -t后面是具体的上下文格式,根据实际需要指定。-a 是添加的意思。

selinux_第6张图片第二条命令时验证是否成功,因为还没有刷新,所以看不到

 

 

刷新,使修改生效

selinux_第7张图片 

 

接下来我们不论是刷新还是创建文件,我们的修改也是生效的

 

selinux_第8张图片 

 

4.匿名用户对ftp用户的写

 1)一般设置

  修给ftp配置文件,使匿名用户可以上传,并把要上传到的目录的权限改成777。把selinux 设为警告状态,这时候是能创建文件的

selinux_第9张图片 

 

2)把selinux处于强制状态,这时候就不能上传了。

selinux_第10张图片 

(3)这时侯我们的上下文时只读的,我们改成读写的,可还是不能上传文件

 

 

selinux_第11张图片 

 

(4)开启服务的阀门

 selinux_第12张图片

 

-P 是永久生效的意思

 

selinux_第13张图片 

 

综上所述:

发布目录权限改成777 ——》配置/etc/vsftpd/vsftpd.conf 使anon_upload_enable=yes ——chcon -t public_content_rw_t /ftp/westos ——setsebool -P ftpd_anon_write on

 

5.图形管理selinux

安装软件

selinux_第14张图片 

 

selinux_第15张图片 

selinux_第16张图片