GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo bloquear a un usuario no root para que no cree una entrada crontab en Linux

El requisito aquí es que ningún usuario que no sea root debe poder editar las entradas de crontab. La publicación describe los pasos para hacerlo. Hay tres formas de lograr esto:

1. Deshabilite el ssh del usuario no root en el sistema, lo que a su vez deshabilita el inicio de sesión de shell para un usuario no root.

2. Agregue el nombre de usuario al archivo /etc/cron.deny , cada usuario por línea (método típico que afecta solo a los usuarios enumerados en el archivo).

# cat /etc/cron.deny 
oracle

La otra solución fácil es tener el archivo /etc/cron.deny vacío y agregar solo el nombre de usuario root al archivo /etc/cron.allow . Esto permite que solo el usuario root modifique/agregue entradas cron.

Nota :Asegúrese de que no haya conflicto entre el archivo /etc/cron.allow y /etc/cron.deny. Consulte la publicación a continuación para obtener más información sobre cómo crontab valida el acceso del usuario a cron.UNIX/Linux:Cómo crontab valida el acceso en función de los archivos cron.allow y cron.deny

Verifique el usuario denegado con la creación de una entrada crontab. Debería darte un error como se muestra a continuación.

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

3. Otro enfoque agresivo es eliminar el permiso de ejecución del comando crontab. Esto, a su vez, afecta la capacidad de todos los usuarios no root para modificar/agregar entradas cron.
Permisos predeterminados del archivo /usr/bin/crontab:

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 51784 Jul 22  2016 /usr/bin/crontab

Después de eliminar el permiso de ejecución:

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab 
-rwx----- 1 root root 51784 Jul 22  2016 /usr/bin/crontab
Nota:asegúrese de tener una copia de seguridad del archivo /usr/bin/crontab antes de cambiar su permiso de archivo. También tenga en cuenta que, después de actualizar o reinstalar un paquete, este cambio se revertirá a los valores predeterminados.

tenga en cuenta los permisos predeterminados del archivo /usr/bin/crontab antes de cualquier cambio:

# stat /usr/bin/crontab
  File: `/usr/bin/crontab'
  Size: 51784     	Blocks: 104        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 1318020     Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-09-13 09:39:27.192418684 +0530
Modify: 2016-07-22 12:50:39.000000000 +0530
Change: 2017-09-08 18:11:33.668586770 +0530

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

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


Linux
  1. Cómo eliminar un uso no root con UID 0 en Linux

  2. Cómo distinguir binarios de archivos de texto en Linux

  3. ¿Cómo crear un archivo en Linux desde la ventana de terminal?

  4. Redirigir la salida de un bloque de funciones a un archivo en Linux

  5. ¿Cómo copio un archivo/carpeta del directorio de inicio de otro usuario en Linux?

Cómo mover un archivo en Linux

Cómo crear un archivo en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo quitar la contraseña de un archivo PDF en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo programar trabajos con Cron en Linux