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 ###发现可以启动