Deshabilitar trabajos cron para un usuario específico

Deshabilitar trabajos cron para un usuario específico

Tengo una lista de trabajos en los crontabs para user1,. user2Quiero evitar que user2se ejecuten los trabajos de.

Intenté incluirlo user2en cron.deny, pero eso sólo le impide acceder a su crontab. Los trabajos enumerados en user2todavía crontabse ejecutan.

¿Cómo desactivo los trabajos cron para un usuario específico?

Respuesta1

¡Fuerza bruta!

crontab -u fred -e
%s/^/#/
:wq

Probablemente haya una manera más elegante de hacerlo, pero a menos que estés haciendo esto todo el tiempo, usa el martillo que tienes.

Respuesta2

La forma más sencilla de desactivar el crontab para un usuario específico es localizarlocrontaby cambiarle el nombre. La página de manual de Debian paracrondice:

cron searches its spool  area  (/var/spool/cron/crontabs)  for  crontab
files  (which  are named after accounts in /etc/passwd); crontabs found
are loaded into memory.

Así que simplemente cambie el nombre del archivo a algo que no esté en la contraseña, generalmente dándole un sufijo como , disabledo similar.offlinedead

mv -vi /var/spool/cron/crontabs/user2 /var/spool/cron/crontabs/user2.disabled

En Debian (y sistemas relacionados como Ubuntu), esto produce la siguiente entrada en /var/log/syslog:

(user2.disabled) ORPHAN (no passwd entry)

Asegúrese de agregar también user2al archivo /etc/cron.deny; de lo contrario, el usuario podrá crear un nuevo crontab por sí mismo.

Vuelva a habilitar el crontab del usuario eliminando la entrada /etc/cron.denyy cambiando el nombre de su crontab:

mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2

Respuesta3

¿Eliminar /var/spool/cron/user1o user2? y también desea agregar estos nombres de usuario, /etc/cron.denyde lo contrario, pueden volver a agregar esos trabajos cron

Respuesta4

Si desea bloquear el trabajo crontab para un usuario en particular, asegúrese de haber iniciado sesión con el usuario root, el usuario root solo tiene acceso a los archivos crontab. 1. Luego vaya al directorio /etc/cron.d en este directorio, puede ver el archivo cron.deny, ingrese el nombre de usuario particular que el usuario desea bloquear usando el editor vi u otro.

información relacionada