![Permitir permiso para el comando bash personalizado sin permitir permiso para el comando subyacente](https://rvso.com/image/1417386/Permitir%20permiso%20para%20el%20comando%20bash%20personalizado%20sin%20permitir%20permiso%20para%20el%20comando%20subyacente.png)
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 *