为 sshd 添加一个 2222 端口
semanage port -a -t ssh_port_t -p tcp 2222 # 如需删除把 -a 换成 -d 。如果端口已经分配到其它地方,可以把 -a 换成 -m
查看 sshd 使用的端口
semanage port -l | grep ssh # ssh_port_t tcp 2222, 22
查看 7100 端口的用途
semanage port -l | grep 7100 # xfs_port_t tcp 7100
把 7100 端口也给 shhd 用
semanage port -m -t ssh_port_t -p tcp 7100 # $ semanage port -l | grep 7100 # ssh_port_t tcp 7100, 2222, 22 # xfs_port_t tcp 7100 # 原来使用 7100 的 _t 并不会删除这个端口
为 Web 项目配置权限
执行这2行后即使你不懂 SELinux 也不用关闭 SELinux 了,如果是 Tomcat 把 httpd_sys_content_t 换成 tomcat_var_lib_t
# 假设 Web 项目在 /data/web/ 中 semanage fcontext -a -t httpd_sys_content_t '/data/web(/.*)? restorecon -RvvF /data/web # 查看(确认)目录的 SELinux 权限用下边这行: # semanage fcontext -l | grep /data/web
临时变更权限
chcon -t tomcat_var_lib_t -R /data
查看整理过的 SELinux 日志
yum install setroubleshoot sealert -a /var/log/audit/audit.log > ~/selinux.log
查看安全上下文
ls -Z fileOrFolder # 查看文件的安全上下文 ps -eZ # 查看进程的安全上下文
查看 SELinux 的工作状态
sestatus