Gestion des informations système, des processus et des performances dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Contrôle de l'accès à la commande crontab

Vous pouvez contrôler l'accès à la commande crontab au moyen de deux fichiers du répertoire /etc/cron.d : cron.deny et cron.allow. Ces fichiers permettent uniquement aux utilisateurs spécifiés d'exécuter les tâches de commande crontab telles que la création, la modification, l'affichage ou la suppression de leurs propres fichiers crontab.

Les fichiers cron.deny et cron.allow contiennent une liste de noms d'utilisateur, chaque ligne comportant un seul nom.

    Ces fichiers de contrôle d'accès fonctionnent comme suit :

  • Si le fichier cron.allow existe, seuls les utilisateurs qui y figurent peuvent créer, modifier, afficher ou supprimer les fichiers crontab.

  • Si cron.allow n'existe pas, tous les utilisateurs peuvent soumettre des fichiers crontab, à l'exception de ceux qui figurent dans cron.deny.

  • Si ni cron.allow ni cron.deny n'existent, vous devez prendre le rôle root pour exécuter la commande crontab.

  • Vous devez prendre le rôle root pour pouvoir modifier ou créer les fichiers cron.deny et cron.allow.

Le fichier cron.deny, créé pendant l'installation du logiciel Oracle Solaris, contient les noms d'utilisateur suivants :

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

Aucun des noms d'utilisateur du fichier cron.deny par défaut ne peut accéder à la commande crontab. Vous pouvez modifier ce fichier afin d'ajouter d'autres noms d'utilisateur qui n'auront pas accès à la commande crontab.

Etant donné qu'aucun fichier cron.allow n'est fourni par défaut, tous les utilisateurs sauf ceux qui figurent dans le fichier cron.deny ont accès à la commande crontab. Si vous créez un fichier cron.allow, seuls ces utilisateurs peuvent accéder à la commande crontab.

Refus d'accès à la commande crontab

  1. Prenez le rôle root.

    Reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  2. Modifiez le fichier /etc/cron.d/cron.deny et ajoutez des noms d'utilisateur, un par ligne, qui n'auront pas accès aux commandes crontab.
    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  3. Vérifiez que le fichier /etc/cron.d/cron.deny contient les nouvelles entrées.
    # cat /etc/cron.d/cron.deny
    daemon
    bin
    nuucp
    listen
    nobody
    noaccess

Restriction de l'accès à la commande crontab aux utilisateurs spécifiés

  1. Prenez le rôle root.

    Reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  2. Créez le fichier /etc/cron.d/cron.allow.
  3. Ajoutez le rôle root au fichier cron.allow.

    Si vous n'ajoutez pas root au fichier, l'accès superutilisateur aux commandes crontab sera refusé.

  4. Ajoutez les noms d'utilisateur, un par ligne, qui peuvent uitliser la commande crontab.
    root
    username1
    username2
    username3
    .
    .
    .
Exemple 4-6  Restriction de l'accès à la commande crontab aux utilisateurs spécifiés

L'exemple suivant illustre un fichier cron.deny qui empêche les noms d'utilisateur jones, temp et visitor d'accéder à la commande crontab.

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

L'exemple suivant montre un fichier cron.allow. Les utilisateurs root, dupont et dubois sont les seuls à pouvoir accéder à la commande crontab.

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

Vérification de l'accès restreint à la commande crontab

Pour vérifier si un utilisateur spécifique peut accéder à la commande crontab, utilisez la commande crontab -l lorsque vous êtes connecté au compte d'utilisateur.

$ crontab -l

Si l'utilisateur a accès à la commande crontab et a déjà créé un fichier crontab, celui-ci est affiché. Dans le cas contraire, si l'utilisateur peut accéder à la commande crontab, mais si aucun fichier crontab n'existe, un message similaire à celui ci-dessous s'affiche :

crontab: can't open your crontab file

Soit l'utilisateur est répertorié dans le fichier cron.allow (si ce fichier existe), soit il n'est pas répertorié dans le fichier cron.deny.

Si l'utilisateur ne peut pas accéder à la commande crontab, le message suivant s'affiche, qu'un fichier crontab antérieur existe ou non :

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

Ce message signifie que l'utilisateur ne figure pas dans le fichier cron.allow (si ce fichier existe) ou qu'il figure dans le fichier cron.deny.