Quiero crear una situación en la que algo que un usuario no privilegiado hace (a través de SSH) desencadena un evento que provoca que un trabajo inicial realice alguna acción. Las actividades se basan en cambios en el sistema de archivos, por lo que agradezco los métodos alternativos.
Básicamente quiero tener algo como:
description "Foo job"
exec foo
start on foo
y luego haga que el usuario active el evento como foo. Cuando digo "usuario", en realidad me refiero a un script de enlace de git que se ejecuta automáticamente cuando git empuja a un repositorio en el host a través de SSH.
He intentado simplemente ejecutar initctl emit foo
, pero eso solo funciona cuando lo hago como root.
Tampoco puedo usar trabajos de usuario para este caso particular, porque quiero que el trabajo en cuestión reinicie los servidores y cree estructuras de directorio donde el usuario que emite el evento no tiene acceso.
¿Alguna idea sobre cómo podría lograr esto sin dar privilegios innecesarios al usuario?
EDITAR: Solo para agregar un requisito que olvidé mencionar. Esto tiene que ser programable, por lo que ingresar contraseñas no es una opción.