Gestión del rendimiento, los procesos y la información del sistema en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Control del acceso al comando crontab

Puede controlar el acceso al comando crontab mediante dos archivos en el directorio /etc/cron.d: cron.deny y cron.allow. Estos archivos permiten que sólo los usuarios especificados realicen tareas del comando crontab, como crear, editar, visualizar o eliminar sus propios archivos crontab.

Los archivos cron.deny y cron.allow constan de una lista de nombres de usuario (un nombre de usuario por línea).

    Estos archivos de control de acceso funcionan de manera conjunta como se indica a continuación:

  • Si cron.allow existe, sólo los usuarios indicados en este archivo pueden crear, editar, visualizar o eliminar archivos crontab.

  • Si cron.allow no existe, todos los usuarios pueden ejecutar archivos crontab, excepto los usuarios indicados en cron.deny.

  • Si no existen cron.allow ni cron.deny, debe asumir el rol de usuario root para ejecutar el comando crontab.

  • Para editar o crear los archivos cron.deny y cron.allow, debe asumir el rol de usuario root.

El archivo cron.deny, creado durante la instalación del software Oracle Solaris, contiene los siguientes nombres de usuario:

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess

Ninguno de los nombres de usuario del archivo cron.deny predeterminado puede acceder al comando crontab. Puede editar este archivo para agregar otros usuarios a los que se les denegará el acceso al comando crontab.

Dado que no se proporciona ningún archivo cron.allow predeterminado, todos los usuarios, excepto los usuarios indicados en el archivo cron.deny, pueden acceder al comando crontab. Si crea un archivo cron.allow, sólo estos usuarios podrán acceder al comando crontab.

Cómo denegar el acceso al comando crontab

  1. Asuma el rol de usuario root.

    Consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .

  2. Edite el archivo /etc/cron.d/cron.deny y agregue los nombres de usuario (un nombre de usuario por línea), a los que se les denegará el acceso a los comandos crontab.
    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  3. Verifique que el archivo /etc/cron.d/cron.deny contenga las entradas nuevas.
    # cat /etc/cron.d/cron.deny
    daemon
    bin
    nuucp
    listen
    nobody
    noaccess

Cómo limitar el acceso al comando crontab a los usuarios especificados

  1. Asuma el rol de usuario root.

    Consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .

  2. Cree el archivo /etc/cron.d/cron.allow.
  3. Agregue el rol root al archivo cron.allow.

    Si no agrega root al archivo, el acceso root a los comandos crontab será denegado.

  4. Agregue los nombres de usuario (un nombre de usuario por línea) a los que se les permitirá utilizar el comando crontab.
    root
    username1
    username2
    username3
    .
    .
    .
Ejemplo 4-6  Limitación del acceso al comando crontab a los usuarios especificados

El siguiente ejemplo muestra un archivo cron.deny que impide que los nombres de usuario jones, temp y visitor accedan al comando crontab.

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
temp
visitor

El siguiente ejemplo muestra un archivo cron.allow. Los usuarios root, jones y smith son los únicos usuarios que pueden acceder al comando crontab.

$ cat /etc/cron.d/cron.allow
root
jones
smith

Cómo verificar el acceso limitado al comando crontab

Para verificar si un usuario específico puede acceder al comando crontab, utilice el comando crontab -l mientras está conectado en la cuenta de usuario.

$ crontab -l

Si el usuario puede acceder al comando crontab y ya ha creado un archivo crontab, se muestra el archivo. De lo contrario, si el usuario puede acceder al comando crontab, pero no existe ningún archivo crontab, se muestra un mensaje similar al siguiente:

crontab: can't open your crontab file

Este usuario aparece en el archivo cron.allow (si el archivo existe) o no aparece en el archivo cron.deny.

Si el usuario no puede acceder al comando crontab, aparece el siguiente mensaje, independientemente de que exista un archivo crontab anterior:

crontab: you are not authorized to use cron. Sorry.

Este mensaje significa que el usuario no aparece en el archivo cron.allow (si el archivo existe) o aparece en el archivo cron.deny.