Linux内核防火墙Selinux

selinux的状态查看和修改

 getenforce                                         ###查看状态
 setenforce 0|1                                     ###0:permissive警告模式  1:enforcing强制模式 
 vim /etc/sysconfig/selinux
 SELINUX=
 enforcing                                          ###强制模式
 permissive                                         ###警告模式
 disabled                                           ###关闭模式

查看安全上下文

 [root@dream ~]# ls -dZ /mnt
 drwxr-xr-x. root root system_u:object_r:mnt_t:s0       /mnt

临时修改安全上下文

 **过程:新建一个文件并修改安全上下文,把其他目录下的文件移过来刷新目录发现移过来的文件的安全上下文并没有改变**
 [root@dream pub]# ls -Zd /var/ftp/pub/                   
 drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /var/ftp/pub/
 [root@dream ~]# mkdir /dream
 [root@dream /]# ls -Zd /dream
 drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /dream
 [root@dream /]# chcon -t public_content_t /dream/        ###更改/dream的安全上下文
 [root@dream /]# ls -Zd /dream
 drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 /dream
 [root@dream /]# touch /mnt/aa
 [root@dream /]# ls -Z /mnt/aa
 -rw-r--r--. root root unconfined_u:object_r:mnt_t:s0   /mnt/aa
 [root@dream /]# mv /mnt/aa /dream
 [root@dream /]# restorecon -Rvvf                         ###刷新安全上下文 vv:显示过程                  
 [root@dream /]# ls -Z /dream
 -rw-r--r--. root root unconfined_u:object_r:mnt_t:s0   aa

永久修改安全上下文

 [root@dream /]# semanage fcontext -l|grep /var/ftp/                 ###我们可以知道目录安全上下文的写法 /var/ftp/bin(/.*)?                                 all files          system_u:object_r:bin_t:s0 
 [root@dream dream_ya]# semanage fcontext -a -t public_content_t '/dream_ya(/.*)?'                        ###永久更改安全上下文
 [root@dream dream_ya]# restorecon -RvvF /dream_ya         

可以发现刷新后,从其他地方移动过来的文件的安全上下文也和目录的安全上下文相同了

读写权限的开启

 systemctl restart vsftpd
 vim /etc/vsftpd/vsftpd.conf                             ###开启匿名用户的读写权限
 systemctl restart vsftpd
 ll /var/ftp/pub/
 chown ftp /var/ftp/pub/
 ll /var/ftp
 chown .ftp /var/ftp/pub/
 chmod 775 /var/ftp/pub/
 setenforce 0                                            ###发现可以读写
 setenforce 1                                            ###关了不可以读写
 ls -Zd /var/ftp/pub/
 chcon -t public_content_rw_t /var/ftp/pub/
 getsebool -a |grep ftp                                  ###查看布尔值
 setsebool -P ftpd_anon_write on                         ###打开写权限

内核分析软件

如果没有内核分析软件,内核引起的报错不会提出解决方法

 setsebool -P ftp_home_dir off                            ###本地用户无法上传
 > /var/log/audit/audit.log 
 > /var/log/messages 
 lftp 172.25.254.225 -u dream
 cat  /var/log/messages 
 rpm -qa |grep setrouble
 yum remove setroubleshoot-server-3.2.17-2.el7.x86_64     ###卸载内核分析软件
 > /var/log/messages 
 > /var/log/audit/audit.loglog 
 lftp 172.25.254.225 -u dream
 cat  /var/log/messages 
 cat /var/log/audit/audit.log
 yum install setroubleshoot-server-3.2.17-2.el7.x86_64 -y
 >  /var/log/messages 
 > /var/log/audit/audit.loglog 
 lftp 172.25.254.225 -u dream
 cat /var/log/messages

改变服务端口

 vim /etc/httpd/conf/httpd.conf 
  41 #Listen 12.34.56.78:80
  42 Listen 6666
 [root@dream /]# systemctl restart httpd                 ###发现服务起不来,看日志报错
 Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
 semanage port -l | grep http                            ###发现端口6666不再使用范围中
 semanage port -a -t http_cache_port_t -p tcp 6666
 systemctl restart httpd                                 ###发现可以启动

你可能感兴趣的:(运维)