Estoy intentando crear un crontab para un grupo de usuarios, llamemos al grupo "testGroup". Hay 3 usuarios y quiero darles a todos acceso al mismo crontab. Investigué un poco e intenté agregar cada usuario individual al grupo crontab en el archivo /etc/group. Sin embargo, esto no funcionó ya que todavía hay 3 crontabs separados para cada usuario. ¿Es esto posible arreglarlo? Si es así, ¿cómo haría para hacer esto?
Gracias
Respuesta1
Fondo
No, cron
no funciona como crees.
El cron
demonio lee sus crontabs desde dos lugares:
- En todo el sistema
/etc/crontab
; - Crontabs por usuario.
No existe el concepto de crontabs por grupo de usuarios.
Solución
Debian tiene opciones personalizadas cron
que le permiten hacer lo que necesita con relativa facilidad. Para citar la cron(8)
página del manual:
Además, en Debian,
cron
lee los archivos del/etc/cron.d
directorio. cron trata los archivos/etc/cron.d
de la misma manera que el/etc/crontab
archivo (siguen el formato especial de ese archivo, es decir, incluyen el campo de usuario). Sin embargo, son independientes de/etc/crontab
: no heredan, por ejemplo, la configuración de las variables de entorno. Este cambio es específico de Debian, consulte la nota a continuación.ESPECÍFICO DE DEBIANabajo.
Por lo tanto haría lo siguiente:
Cree un grupo dedicado para su grupo de usuarios. Supongamos que es "mycrontab".
Agregue sus tres usuarios a ese grupo.
Cree un archivo en
/etc/cron.d
y haga que sea propiedad deroot:mycrontab
y tenga bits de permiso establecidos en0660
orw-rw-r--
, es decir, acceso de lectura/escritura para el usuarioroot
y el grupomycrontab
y acceso de lectura para todos los demás.Enseñe a sus usuarios dónde ubicar este archivo y las reglas sobre su formato (esas podrían colocarse en el archivo en forma de comentarios).
Tenga en cuenta que es posible que deba descubrir cómo manejar el envío de correos electrónicos a todos sus usuarios. Primero comprobaría si está bien configurar la MAILTO
variable de entorno obedecida por cron
una lista de direcciones de correo electrónico separadas por comas (como ) o, en su defecto, probablemente necesite configurar un alias de correo en su MTA local. o el MTA que recibe correos generados en su sistema, y use el valor de este alias para la variable.[email protected],[email protected],[email protected]
cron
MAILTO
Considerándolo todo, eche un vistazo superficial a las páginas del manual cron(8)
y .crontab(5)
…¡y elimina a tus usuarios del crontab
grupo!
Respuesta2
No entiendo cómo la solución de @kostix no permite ejecutar código como root.
Básicamente, estás dando acceso raíz al crontab a los usuarios. Es muy peligroso.
Personalmente, crearía una cuenta genérica con los mismos derechos que los usuarios y permitiría a los usuarios suscribirse a ese usuario y editar su crontab.