Caso SELinux
Si el mismo comando sudo es lento solo en un demonio y rápido en la línea de comando, entonces lo más probable es que sea causado por SELinux . (SELinux = NSA Security-Enhanced Linux kernel module, habilitado en Fedora por defecto).
Un caso típico es un servidor http y un script especial para la administración del servidor, restringido en sudoers
:
apache ALL=(root_or_user) NOPASSWD: /full/path/the_safe_command
Es típico en este caso que no se informe nada sobre SELinux en el registro de auditoría ausearch -m avc -ts today
, pero el script se ejecutará rápidamente si deshabilitamos temporalmente la aplicación por parte de setenforce 0
. (y luego volver a habilitar por setenforce 1
)
Los únicos mensajes relevantes en el registro del sistema (journalcrl) son estos después del retraso de 25 segundos:
... sudo [...] pam_systemd (sudo: sesión): no se pudo crear la sesión: no se recibió respuesta. Las causas posibles incluyen: la aplicación remota no envió una respuesta, la política de seguridad del bus de mensajes bloqueó la respuesta, el tiempo de espera de respuesta expiró o la conexión de red se interrumpió.
... sudo [...]: pam_unix (sudo: sesión): sesión abierta para el usuario root por (uid = 0)
El registro de todos los mensajes SElinux "no auditar" silenciados puede habilitarse semodule -DB
y deshabilitarse nuevamente mediante semodule -B
.
(Espero escribir pronto un módulo de política de SELinux pronto para este caso aquí o se puede usar un método de esta respuesta ).