¿Cómo permitir que varios usuarios accedan al mismo crontab en Debian Linux v8.4?

¿Cómo permitir que varios usuarios accedan al mismo crontab en Debian Linux v8.4?

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, cronno funciona como crees.

El crondemonio 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 cronque le permiten hacer lo que necesita con relativa facilidad. Para citar la cron(8)página del manual:

Además, en Debian, cronlee los archivos del /etc/cron.d directorio. cron trata los archivos /etc/cron.dde la misma manera que el /etc/crontabarchivo (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:

  1. Cree un grupo dedicado para su grupo de usuarios. Supongamos que es "mycrontab".

  2. Agregue sus tres usuarios a ese grupo.

  3. Cree un archivo en /etc/cron.dy haga que sea propiedad de root:mycrontab y tenga bits de permiso establecidos en 0660o rw-rw-r--, es decir, acceso de lectura/escritura para el usuario rooty el grupo mycrontaby acceso de lectura para todos los demás.

  4. 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 MAILTOvariable de entorno obedecida por cronuna 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]cronMAILTO

Considerándolo todo, eche un vistazo superficial a las páginas del manual cron(8)y .crontab(5)

…¡y elimina a tus usuarios del crontabgrupo!

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.

información relacionada