我已在 Alma Linux 8.8(Red Hat 8.8 的克隆版)中成功安装了 Memcached,但是,当我在 /etc/sysconfig/memcached 的配置文件中将端口号从 11211 更改为 11212 并重新启动服务时,我收到以下消息:
无法侦听 TCP 端口 11212:权限被拒绝
其他端口号(11213、11214 等)也不起作用!
我在 VirtualBox 7.0.8 上运行 Vagrant 机器(从 Alma Linux 的官方存储库下载)
更新:阅读 asktyagi 说明后,我将端口号更改为 11213 并重新启动服务。我在 cockpit 上看到了以下内容:
SELinux 访问控制错误
SELinux 阻止 /usr/bin/memcached 在 tcp_socket 端口 11213 上进行 name_bind 访问。
解决方案:如果要允许/usr/bin/memcached绑定到网络端口11213,则需要修改端口类型。
解决方案详细信息:semanage 端口 -a -t memcache_port_t -p tcp 11213
审计日志:
类型 = AVC 消息 = 审核(1690420222.524:28):avc:拒绝 { name_bind } for pid=778 comm="memcached" src=11213 scontext=system_u:system_r:memcached_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket permissive=0
答案1
SELinux 正在阻止端口绑定。执行以下命令从 selinux 端允许它。
semanage port -a -t memcache_port_t -p tcp 11213
其他方法是禁用 selinux,重新标记并重试。