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