2017-08-09 6 views
0

J'essaie d'obtenir apache pour exécuter un script bash qui utilise ffmpeg pour prendre des instantanés à partir d'un flux mp4. Je reçois une erreur "Input/Output" où ffmpeg est bloqué pour accéder au port 80.Essayer d'obtenir selinux pour permettre à apache d'exécuter un exécutable qui utilise un port

J'ai eu apache pour exécuter ffmpeg, il semble juste être bloqué sur l'accès au port. Je suppose que c'est un problème d'autorisation selinux où ffmpeg a besoin d'autorisations spéciales pour pouvoir accéder au port 80 (ou à tout autre port) lorsqu'il est exécuté par apache.

Le script s'exécute très bien à partir de la ligne de commande, il suffit de le lancer à distance qui meurt.

Merci pour votre aide!

sudo sémanage 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. system_u racine racine: object_r: bin_t: s0/usr/bin/ffmpeg

De var/log/audit/audit.log:

Type

= AVC msg = audit (1502245154,609: 23912): avc: refusé {name_connect} pour 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 (1.502.245.154,609: 23912): arch = c000003e syscall = 42 succès = non sortie = -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 = (aucun) ses = 4294967295 comm = "ffmp par exemple » exe = "/ usr/bin/ffmpeg" OBJ = system_u: system_r: httpd_sys_script_t: key s0 = (null)

exécutant Red Hat Enterprise Linux 7.4

Répondre