¿Qué son los daemons sonidos, y por qué nginx necesita el tipo bajo SELinux?

Curioso lo que es daemon sonoro. El wiki en http://wiki.centos.org/TipsAndTricks/SelinuxBooleans dice que es "soundd daemon" pero no estoy encontrando mucha información adicional en internet.

Para get nginx (configurado para enlazar en un socket unix) para iniciar con systemctl Necesito agregar una regla de aplicación de tipo en httpd_t a soundd_port_t: tcp_socket. Más específicamente:

sudo systemctl status nginx.service 

falla con el post:

 nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled) Active: failed (Result: exit-code) since Mon 2015-07-13 19:53:57 EDT; 7s ago Process: 2699 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE) Jul 13 19:53:57 localhost.localdomain nginx[2699]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Jul 13 19:53:57 localhost.localdomain nginx[2699]: nginx: [emerg] bind() to 0.0.0.0:8000 failed (13: Permissi...ied) Jul 13 19:53:57 localhost.localdomain nginx[2699]: nginx: configuration file /etc/nginx/nginx.conf test failed Jul 13 19:53:57 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1 Jul 13 19:53:57 localhost.localdomain systemd[1]: Failed to start The nginx HTTP and reverse proxy server. Jul 13 19:53:57 localhost.localdomain systemd[1]: Unit nginx.service entenetworking failed state. 

A continuación lo hago:

 sudo cat /var/log/audit/audit.log | audit2allow 

y ver:

 #============= httpd_t ============== allow httpd_t soundd_port_t:tcp_socket name_bind; 

Después de importar este module, nginx puede iniciar.

One Solution collect form web for “¿Qué son los daemons sonidos, y por qué nginx necesita el tipo bajo SELinux?”

Si ejecuta el siguiente command, verá que el puerto 8000 / tcp está definido en SELinux como soundd_port_t :

 # puerto de seminario -l |  grep soundd
 soundd_port_t tcp 8000, 9433, 16001

Esto no significa que nginx tiene nada que ver con sonido, sólo que está tratando de enlazar con el puerto tcp 8000. Le sugiero que utilice el range de puertos reservados para los usos de nginx / proxy, http_cache_port_t :

 # puerto de seminario -l |  grep http_cache_port_t
 http_cache_port_t tcp 8080, 8118, 8123, 10001-10010

Si escucha en el puerto 8080 en lugar de 8000, no tendrá que rebuild su política de SELinux.

  • Distribuciones de Linux sin selinux
  • El context de la ruta de acceso de SELinux no funciona con regex
  • ¿Cómo puedo mover /var/log/audit/audit.log a otra partición
  • SELinux Permisivo habilitado; httpd informes de errores
  • Apache passphrase trabajando a veces
  • Problemas con ProxyPass y ProxyPassReverse cuando proxy a localhost y un puerto TCP diferente
  • ¿Cómo debo configurar SELinux cuando ejecute nginx dentro de Docker
  • Restringir el acceso de usuarios en Linux
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.