Como ya lo explicamos en Usar cron para ejecutar tareas repetitivas y en Usar at para ejecutar una tarea programada por única vez, cron y at son dos herramientas sumamente útiles. Sin embargo, puede suceder que no deseemos que TODOS los usuarios del sistema tengan acceso a emplearlas (probablemente para impedir que agenden tareas o inicien procesos que consumirían recursos del sistema o que representen una falla de seguridad). Por ese motivo, en este post aprenderemos cómo restringir el uso de cron y at de tal manera que no todos los usuarios tengan acceso a las mismas.
Cron y at
Para restringir el acceso a estas dos herramientas deberemos crear (si no existen ya) los siguientes archivos:
- /etc/cron.allow
- /etc/cron.deny
- /etc/at.allow
- /etc/at.deny
Estos archivos consisten en listas de usuarios, uno por línea. Si el archivo .allow existe, solamente los usuarios que aparezcan en el mismo podrán hacer uso de la herramienta correspondiente. En el caso de que .allow no exista pero sí .deny, solamente se permitirá el acceso a los usuarios que NO aparezcan en el mismo. Si ninguno de los dos archivos (.allow y .deny) están presentes, todos los usuarios tendrán acceso a cron y at, respectivamente.
Ejemplos
Para impedir que el usuario alumno tenga acceso a cron, agregaremos una línea a /etc/cron.deny con la palabra alumno:
echo "alumno" >> /etc/cron.deny
Para permitir que solamente gacanepa y scg puedan utilizar at, incluiremos dos líneas en /etc/at.allow de la siguiente manera:
echo "gacanepa" >> /etc/at.allow echo "scg" >> /etc/at.allow
En resumidas cuentas, el usuario alumno no tendrá acceso a ninguna de las dos herramientas, como podemos ver en la Fig. 1. Por otra parte, tanto scg como gacanepa podrán usar at como también podemos observar.
Espero que este post les haya resultado de utilidad. ¡Nos vemos en el próximo! (No olviden suscribirse al blog)