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
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