Ubuntu 14.04
Je ne comprends pas le comportement que je vois avec la configuration de crontab pour un compte de service (sans connexion) (nommé curator
).
Lorsque je suis connecté en tant que root, voici ce que j'obtiens:
# crontab -u curator -l
The user curator cannot use this program (crontab)
Mais, lorsque je passe au compte de l'utilisateur, cela fonctionne très bien:
# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator
Il y a un /etc/cron.allow
fichier vide et aucun /etc/cron.deny
fichier sur le système. Selon man crontab
:
Si le fichier /etc/cron.allow existe, vous devez y être répertorié (un utilisateur par ligne) pour pouvoir utiliser cette commande. Si le fichier /etc/cron.allow n'existe pas mais que le fichier /etc/cron.deny existe, vous ne devez pas figurer dans le fichier /etc/cron.deny pour utiliser cette commande.
Je comprends l'erreur lorsque j'exécute la première commande, mais pourquoi me permet-elle de s'exécuter crontab
lorsque je passe explicitement au compte de l'utilisateur?
L'ajout de l'utilisateur à /etc/cron.allow
fait fonctionner correctement les deux commandes.
crontab -e
(en tant que curateur d'utilisateurs)?cron.allow
fichier vide , leroot
crontab -u vagrant -l
etcrontab -l
commevagrant
résultat dans unare not allowed to use this program
message (différent du message que vous citez).Réponses:
J'ai vérifié les sources de crontab et j'ai découvert que si l'utilisateur ne peut pas ouvrir
/etc/cron.allow
(par exemple aprèschmod 0 /etc/cron.allow
), crontab pense que l'utilisateur est autorisé à l'utiliser (comme s'ilcron.allow
n'existait pas).Mais root peut lire n'importe quel fichier, donc le code de vérification crontab fonctionne comme prévu. Je vous recommande donc de vérifier d'abord les autorisations
/etc/cron.allow
, et peut-être les journaux d'audit SELinux / AppArmor.la source
chmod -r /etc/cron.allow
provoque effectivement le comportement décrit sur mon système Ubuntu 14.04/etc/cron.allow
autorisations étaient600
, après l'avoir changé à la644
foisroot
etcurator
vu lenot allowed to use this program (crontab)
message. Ensuite, après avoir ajoutécurator
aux/etc/cron.allow
deux, vous pouvez utiliser la crontab du conservateur.