使用semanage管理SELinux安全策略

semanage命令用于管理SELinux的策略,格式为“semanage [选项] [文件]”。
SELinux服务极大地提升了Linux系统的安全性,将用户权限牢牢地锁在笼子里。semanage命令可以设置文件、目录的策略,还可以管理网络端口、消息接口。

常用参数:

  • port: 管理定义的网络端口类型
  • fcontext: 管理定义的文件上下文
  • -l: 列出所有记录
  • -a: 添加记录
  • -m: 修改记录
  • -d: 删除记录
  • -t: 添加的类型
  • -p: 指定添加的端口是tcp或udp协议的,port子命令下使用
  • -e: 目标路径参考原路径的上下文类型,fcontext子命令下使用

实验环境

Red Hat Enterprise Linux release 8.2 

Selinux已经开启

[root@node1 ~]# egrep -i selinux /etc/sysconfig/selinux | egrep -v "#"
SELINUX=enforcing
SELINUXTYPE=targeted
如selinux未开启就需要进配置文件把selinux设置为enforcing
# vim /etc/sysconfig/selinux
SELINUX=enforcing
重启使其生效
# reboot

检查semanage是否有安装

如果没有,需要安装semanage

[root@node1 ~]# yum install policycoreutils-python -y 

先进/etc/httpd/conf/httpd里看看端口号是多少

[root@node1 ~]# egrep -i listen /etc/httpd/conf/httpd.conf | egrep -v "#"

列出所有定义的端口

[root@node1 ~]# semanage port -l

使用semanage管理SELinux安全策略_第1张图片

列出指定的端口类型的端口

 [root@node1 ~]# semanage port -l | grep -w  http_port_t 

 通过查询端口号来列出端口类型

[root@node1 ~]# [root@node1 ~]# semanage port -l | grep -w 443

 创建、添加、删除端口

使用下面的命令为http添加新端口

[root@node1 ~]# semanage port -a -t http_port_t -p tcp 82

查看新添加的端口

[root@node1 ~]# semanage port -l | grep -w 82

 添加一个范围的端口

[root@node1 ~]# semanage port -a -t http_port_t -p tcp 11180-11188

删除端口

[root@node1 ~]# semanage port -d -t http_port_t -p tcp 82

[root@node1 ~]# semanage port -d -t http_port_t -p tcp 11180-11188
[root@node1 ~]# restorecon -Rv /var/www/html/   把整个文件上下文强制重新设置一下,递归

一旦成功配妥httpd服务程序之后,就会发现SELinux服务并没有那么难。

你可能感兴趣的:(linux,运维,服务器)