Creé un usuario llamado intelmq
que tiene permisos para ejecutar un programa llamado intelmqctl
. Luego creé un usuario llamado apache
y me gustaría apache
ejecutarlo intelmqctl
como usuario intelmq
. Agregué las siguientes líneas al sudoers
archivo:
Defaults:apache !requiretty
apache ALL=(intelmq) NOPASSWD: /usr/bin/intelmqctl
Sin embargo, cada vez que intento ejecutar el siguiente comando como usuario, apache
devuelve esto:
dominio:sudo -u apache sudo -u intelmq /usr/bin/intelmqctl --type json stop abusech-ip-parser
producción:
Sorry, user apache is not allowed to execute '/bin/sudo -u intelmq /usr/bin/intelmqctl --type json stop abusech-ip-parser' as apache on localhost.localdomain.
Estoy usando un CentOS 7.
Aquí están los pasos que hice para instalar intelmqctl
y el problema en sí se explica mejor, tal vez fallé en algo durante la instalación:https://github.com/certtools/intelmq/issues/981
Si intento ejecutar sudo -iu apache
como root
, cambiará al apache
usuario, luego, si ejecuto el comando sudo -u intelmq /usr/bin/intelmqctl
, funciona, muestra todas las opciones para ejecutar intelmqctl
.
Sin embargo, si ejecuto el comando sudo -iu apache
como apache
usuario, devuelve:Sorry, user apache is not allowed to execute '/bin/bash' as apache on localhost.localdomain.
Respuesta1
Puede agregar permiso setuid a ese binario y cambiar la propiedad a intelmq.
chmod u+s /usr/bin/intelmqctl
chown intelmq /usr/bin/intelmqctl
Luego puede ejecutar este ejecutable con la propiedad del proceso de intelmq.