试图让selinux允许apache运行使用端口的可执行文件

时间:2017-08-09 19:53:43

标签: apache selinux

我试图让apache运行一个bash脚本,该脚本使用ffmpeg从mp4流中获取快照。我得到一个"输入/输出"阻止ffmpeg访问端口80的错误。

我已经获得了运行ffmpeg的apache,它似乎在端口访问时被阻止了。

我认为它是一个selinux权限问题,其中ffmpeg需要特殊权限才能在apache运行时访问端口80(或任何端口)。

脚本从命令行运行良好,它只是远程启动它就死了。

感谢您的帮助!

  

sudo semanage port -l | grep http_port   http_port_t tcp 80,81,443,488,8008,8009,8443,9000   pegasus_http_port_t tcp 5988

     

ls -Z / usr / bin / ffmpeg   -rwxr-XR-X。 root root system_u:object_r:bin_t:s0 / usr / bin / ffmpeg

来自var / log / audit / audit.log:

type = AVC msg = audit(1502245154.609:23912):avc:拒绝{name_connect}表示pid = 12043 comm =" ffmpeg" dest = 80 scontext = system_u:system_r:httpd_sys_script_t:s0 tcontext = system_u:object_r:http_port_t:s0 tclass = tcp_socket

type = SYSCALL msg = audit(1502245154.609:23912):arch = c000003e syscall = 42 success = no exit = -13 a0 = 3 a1 = 1775f00 a2 = 10 a3 = 7ffd7a6af0d0 items = 0 ppid = 12041 pid = 12043 auid = 4294967295 uid = 48 gid = 48 euid = 48 suid = 48 fsuid = 48 egid = 48 sgid = 48 fsgid = 48 tty =(none)ses = 4294967295 comm =" ffmpeg" EXE ="在/ usr /斌/ ffmpeg的" subj = system_u:system_r:httpd_sys_script_t:s0 key =(null)

运行Red Hat Enterprise Linux 7.4

1 个答案:

答案 0 :(得分:1)

使用https://wiki.centos.org/HowTos/SELinux#head-faa96b3fdd922004cdb988c1989e56191c257c01

解决

创建特定于访问要求的策略 - 文档中的步骤7