GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo evitar que un usuario no root cree una entrada crontab

A menudo, este es un requisito en los entornos de producción para deshabilitar a los usuarios no root para crear cualquier entrada de crontab. Hay tres formas de lograr esto:

1. Deshabilite el ssh del usuario no root en el sistema, luego el usuario no root no podrá usar shell en absoluto. Consulte esta publicación para conocer el procedimiento.

2. Agregue el usuario al archivo /etc/cron.deny , cada usuario por línea (Método típico que afecta solo a los usuarios de la lista):

# cat /etc/cron.deny 
johny

Nota: Asegúrese de que no haya conflicto entre el archivo /etc/cron.allow y /etc/cron.deny.
Verifique el usuario denegado con la creación de la entrada crontab:

$ crontab -e
You (johny) are not allowed to use this program (crontab)
See crontab(1) for more information

3. Rechace el permiso de ejecución del comando crontab (enfoque agresivo que afecta a todos los usuarios no root):
Permisos predeterminados:

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Cambie el permiso (elimine el bit setuid):

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab
-rwx------ 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Nota:asegúrese de tener un archivo de copia de seguridad antes de cambiar su permiso de archivo.
Después de la actualización del paquete, este cambio se revertirá a los valores predeterminados.
Permiso predeterminado:

# stat /usr/bin/crontab
  File: ‘/usr/bin/crontab’
  Size: 57552     	Blocks: 120        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 10751442    Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-12 17:03:10.112443944 +0530
Modify: 2015-04-21 19:38:05.000000000 +0530
Change: 2016-03-14 14:03:30.347276747 +0530
 Birth: -

Verifique el usuario denegado con la creación de una entrada crontab:

$ crontab -e
bash: /usr/bin/crontab: Permission denied


Linux
  1. ¿Cómo hacer Chmod sin /usr/bin/chmod?

  2. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  3. Cómo eliminar entradas innecesarias en /etc/shadow

  4. cmake --version apunta a /usr/bin/cmake mientras que cmake apunta a /usr/local/bin

  5. ¿Cómo saber desde qué carpeta se está ejecutando un proceso?

¿Cómo creo un crontab a través de un script?

Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

Diferencia entre /bin y /usr/bin

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

¿Debo editar /etc/crontab o ejecutar crontab -e como root?