1:在/mnt里面新建一个文件
2:mv /mnt/file /var/ftp/ (必须用mv,mv移动过去的文件的安全上下文不会改变,cp复制过去的文件安全上下文会改变为目标目录的安全上下文)
4:ls 无法看到从/mnt目录移动到/var/ftp中的文件
5:直接在/var/ftp/目录中新建一个文件,lftp ip ————> ls 可以看到直接建立的文件,因为直接建立的文件的安全上下文与目录相同
6:用 semanage fcontext -l | grep /var/ftp 或者 ls -Z 查看目录或者文件的安全上下文
红框显示的即为此目录的安全上下文类型
7:chcon -t 安全上下文的类型 文件名
8:lftp ip ----> ls 修改了安全上下文的文件此时可以看到#############以上的修改在selinux重启(disabled后重启在enforcing再次重启)后会还原#################
二:永久修改安全上下文 (我们需要将安全上下文写入 semanage fcontext中)
1:创建一个目录
2:修改这个目录的安全上下文 ls -Zd
3:重启selinux ####将selinux设定为disabled后重启,再将selinux设定为enforcing再重启##
4:ls -Zd 安全上下文还原
5:再次修改木录安全上下文
6:semanage fcontext -l | grep 目录 ### 查看目录安全上下文,因为没有将安全上下文写入,所以看不到##
7:写入: semanage fcontext -a(添加) -t(添加的类型) public_content_t '目录(/.*)?'
##(/.*): /表示此目录下的所有文件 .*表示此目录下的所有隐藏文件 因为有特殊字符所以要用引号引起来###
8:查看安全上下文,semanage fcontext -l | grep 目录
9:restorecon -FvvR /westos/ 同步安全上下文
10:重启查看安全上下文
三:给功能添加开关(selinux)
1:lftp 172.25.66.167 -u student
2:ls
3:put /etc/passwd ###显示553 权限过小
4:getsebool -a | grep ftp 查看ftp的布尔值
5:setsebool -P ftp_home_dir on 将ftp布尔值设为1,即打开(on)
6:getsebool -a | grep ftp
7:lftp 172.25.66.167 -u student--->ls--->put /etc/passwd
四:排错
1:> /var/log/audit/audit.log > /var/log/message
2:touch /mnt/westos
3:mv /mnt/westos /var/ftp/
4:firefox #####ftp://172.25.66.167
看不到刚刚移动过来的westos文件
5:cat /var/log/audit/audit.log ###错误地方
安全上下文不同
cat /var/log/message ####改正方法
6:restorecon -v /var/ftp/*
7:firefox ## ftp://172.25.66.167
修改了westos的安全上下文之后就可以看到westos这个文件了
五:服务默认端口的设定
1:安装httpd
2:vim /etc/httpd/conf/httpd.conf
第42行 设定一个端口值
3:systemctl restart httpd
此时会重启失败,将selinux设置为0(警告模式)则会重启成功
4:semanage port -l | grep http 查看端口
此时是看不到添加的端口值的,需要添加到配置文件
5:semanage port -a -t http_port_t -p tcp 设定的端口值 ###将要设置的端口值添加到配置文件
6:systemctl restart httpd 重启(此时selinux设置为0或者1都可以重启)