https://blog.csdn.net/qq_33978013/article/details/79517111

我对linux是个门外汉,有些地方描述的比较“粗犷”,见谅见谅;文章结构什么的,真的是有心无力,一片好文章也是一门技术活,所以,我用问答的形式来写的,简单,但感觉效果还是有的;最后,这篇算不上文章的文章,肯定是借鉴了其它的大神的,大神莫怪莫怪,大神年薪5000w,大神美女环绕,大神万寿无疆
  
  semanage是什么?

  1.semanage是一个软件中的一部分,
  2.可在linux中用命令行的方式使用
  3.它可以管理SELinux
  

  SELinux的默认设置

  默认情况下,最小化安装的CentOS,SELinux是开启的
  SELinux默认情况下,只允许非root权限用户,使用几个固定端口,(包括http端口和其他协议的端口)
  
  被默认可以使用的http端口如下:可使用命令 semanage port -l | grep http_port_t 查看

  结果如下:
  http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
  pegasus_http_port_t            tcp      5988

  问题(1):
yum安装的nginx,创建了nginx用户,来进行系统资源的使用,
nginx用户是没有root权限的

所以,它无法监听 除了默认可以使用的那些 http端口,因为SELinux不允许

  解决方法:
为了保证安全,SELinux是不能关闭的,
所以,只能让SELinux加入通行规则,开放一些端口,让所有用户(当然也可以是指定的用户)能够使用。


  问题(2):如何让SELinux加入通行规则?
  答:使用semanage命令。

  问题(3):CentOS最小化安装的情况下是没有安装semanage命令的,如何安***r>   答: 步骤

            1)使用 yum provides /usr/sbin/semanage 命令,

 查看 该命令被包含在什么软件包中

    2)你知道它被包含在什么软件包中了,那就用 yum安装这个软件包吧
     安装成功后,你就可以使用semanage命令了。


  问题(4):具体如何使用semanage命令,管理SELinux的通行规则?
  答:如下:
#添加通行规则(参数 -a)
semanage port -a -t http_port_t -p tcp 8888
#删除通行规则(参数 -d)
semanage port -d -t http_port_t -p tcp 9090