Permitir permiso para el comando bash personalizado sin permitir permiso para el comando subyacente

Permitir permiso para el comando bash personalizado sin permitir permiso para el comando subyacente

Tenemos un script automático en uno de nuestros servidores, ejecutado por un usuario observador. Necesita indicarle a otro script, ejecutado por el usuario principal, que actualice un archivo de registro.

El código para esto essudo kill -UPDATE_LOG pid

Obviamente, el usuario observador debe tener permisos para ejecutar este comando. Sin embargo, no quiero darle permiso a este script automático para finalizar procesos, por razones obvias.

me gustaría hacer algo comoalias update_log='kill -UPDATE_LOG; grant update_log on observing_user

Respuesta1

probablemente usando

sudo pkill -UPDATE_LOG <process-name>

en lugar de matar, ¿será lo suficientemente restrictivo para satisfacer su necesidad?

Otra forma de solucionar este problema es incrustar el comando que desea ofrecer con sudo en un script o ejecutable personalizado para realizar esta acción.

Respuesta2

Muy bien, encontré una respuesta después de cambiar mis palabras clave.

Ver también: ¿Cómo evitar que los usuarios de sudo ejecuten comandos específicos?

Paso 1:

sudo visudo

La sintaxis es así:

user host=command

Esto otorga acceso sudo a un comando determinado. También puedes hacer grupos como

%group host=command

Puede usar TODO en cualquiera de las 3 'columnas' para aplicar esto a cualquier host, cualquier comando o cualquier usuario.

Mi solución fue

observing_user ALL=kill -USR1 *

información relacionada