selinux对文件的控制

来源:互联网 发布:python 入门gui 编辑:程序博客网 时间:2024/06/05 09:35

selinux:
selinux
是进程,文件等权限设置依据的一个内核模块。

   selinux
的启动关闭与查看:
   模式:vim/etc/sysconfig/selinux
     enforceing:强制模式

     permissive:警告模式
     diabled:关闭,selinux并没有实际运行

   查看:

     getenforce        ##显示selinux模式
     setenforce 0|1    ##更改selinux模式
     0:表示permissive警告模式
     1:表示enforceing强制模式
  

 显示进程的selinux的安全上下文:
     ps axuZ |  grep vsftpd   ##-Z参数可以查询进程的安全上下文

测试:

    touch file
    mv file /var/ftp/pub
   1)enforceing
模式
     ls ##不能看到从别处转移过来的文件
  

2)permissive模式
     ls ##可以看到从别处转移过来的文件

     ls -Z ##查看文件selinux的安全上下文,本地文件和从别处转移过来的文件的selinux安全上下文是不一样的



    chcon -t public_content_t/var/ftp/pub/file    更改文件的selinux安全上下文,与本地文件一样,此时在enforcing模式下也可以看到从别处移过来的文件


  

1.selinux的永久设定:
selinux=Enforcing:
   mkdir /westos                 
   touch /westos/file{1..10}      
   ls /westos/
   vim /etc/vsftpd/vsftpd.conf          ##将匿名用户的家目录设置为/westos:
anon_root=/westos

   systemctl restart vsftpd.service     ##重启服务

  lftp 172.25.254.122                 ##匿名用户登陆的家目录/westos,用ls进行查看看不到之前新建的10个文件
   ps auxZ | grep vsftpd                ##显示vsftpd进程的安全上下文
   ls -lZ /var/ftp                      ##查看/var/ftp文件selinux的安全上下文
   ls -Zd /westos/                      ##查看/westos目录selinux的安全上下文
   semanage fcontext -l | grepwestos      ##查询/westos的默认安全上下文设置
   semanage fcontext -l | grep/var/ftp/   ##查看/var/ftp文件的默认安全上下文设置
   semanage fcontext -a -tpublic_content_t '/westos(/.*)?'  ##永久更改目/westos的selinux安全上下文和/var/ftp中的文件一样
  semanage fcontext -l | grep /var/ftp/   
   semanage fcontext -l | grepwestos
   ls -Zd /westos/
   restorecon -RvvF /westos/           ##
恢复更改后的/westos的selinux的安全上下文
   lftp 172.25.254.122         
   touch /westos/file11                ##
在目录中新建文件
   lftp 172.25.254.122                 ##用ls进行查看可以看到新建的file11文件,证明新建文件的安全上下文和目录保持一致
   ls -Z /westos/                      ##查询新建文件之后的目录中所有文件的安全上下文,
   ##目录的安全上下文被更改之后,目录下新建文件的安全上下文和目录保持一致



 



selinux=Permissive时:


  ##在selinux=Permissive时,不用修改/westos的安全上下文,用lftp连接之后直接可以看到/westos下建立的文件
.
 
selinux默认关闭服务开启:(selinux内核防火墙在enforcing状态下会自动关闭一些不安全的服务)

   getenforce                                 ##查询selinux状态
   vim /etc/vsftpd/vsftpd.conf                ##默认情况下本地用户具有写的权限

   lftp 172.25.254.122 -u student             ##student用户登陆,不能上传文件

   ls -ld /home/student/                      ##查询/home/student目录权限
   chmod u+w /home/student/                   ##给/home/student增加写的权限
   lftp 172.25.254.122 -u student             ##student用户登陆,增加权限后依然不能上传文件
   getsebool -a | grep ftp                    ##查看所有ftp服务设定状态
   setsebool -P ftp_home_dir 1                ##直接将设置 写入配置文件,修改之后会生效
   参数P必须是大写,否则命令无法执行
   getsebool -a | grep ftp                    ##检查是否开启
   lftp 172.25.254.122 -u student             ##student用户登陆,上传文件成功


   ##由于进程的文件数量庞大,因此selinux服务会依据某些服务来制定基本的访问安全性策略,这些策略里还会有详细的规则来制定不同的服务开放某些资源的访问与否。

 


    
 

0 0
原创粉丝点击