修改httpd端口号失败,提示无权限

        这两天在折腾欧拉系统,在修改httpd的默认端口时,报错如下:

Sep 27 16:55:13 localhost httpd[9604]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:900
Sep 27 16:55:13 localhost httpd[9604]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:900
Sep 27 16:55:13 localhost httpd[9604]: no listening sockets available, shutting down
Sep 27 16:55:13 localhost httpd[9604]: AH00015: Unable to open logs
Sep 27 16:55:13 localhost systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
Sep 27 16:55:13 localhost systemd[1]: httpd.service: Failed with result 'exit-code'.
Sep 27 16:55:13 localhost systemd[1]: Failed to start The Apache HTTP Server.
Sep 27 16:55:14 localhost setroubleshoot[2584]: SELinux is preventing ftdc from search access on the directory nfs. For complete SELinux messages run: sealert -l 12fdc6cf-85e2-4d8e-8744-018f53c03778

提示无权限,结合后面的SELinux日志,猜测可能和SELinux有关。为了快速验证猜测是否正确,我选择直接关闭SELinux服务。

关闭 SELinux 可以通过以下2种方法完成,分为临时关闭和永久关闭。

1. 临时关闭 SELinux

这种方式在系统重启后就没了,因此不建议。

步骤:

先确认当前的 SELinux 状态,运行以下命令:

getenforce

输出将是 PermissiveEnforcing。 

如果为Enforcing,那就使用以下命令来临时将 SELinux 设置为 Permissive 模式(即不强制执行安全策略,但仍会记录警告):

setenforce 0

可再次运行getenforce命令确认当前的 SELinux 状态是否修改成功。

2. 永久关闭 SELinux

这种方式会在系统重启后仍然保持 SELinux 关闭。

步骤:

同前面一样,我们先确认当前的 SELinux 状态,运行以下命令:

getenforce

如果输出是 Enforcing,则编辑 /etc/selinux/config 文件,找到如下行:

SELINUX=enforcing

将其修改为:

SELINUX=disabled

 保存并退出编辑器,然后重启系统以便更改生效。

在重启后,可运行以下命令以确认 SELinux 已被关闭:

sestatus

输出如类似:

SELinux status: disabled

则说明修改已生效。

这时候,我们再去重启下httpd,发现问题解决了,印证了前面的猜测。

当然,SELinux也可以配置端口规则,有兴趣的同学可以自己研究下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值