30 votes

Quelle pourrait être la cause du message "Permission refusée" pour la commande `crontab -e` ?

Voici quelques résultats qui, je l'espère, vous seront utiles :

nick@home-sv-1:~$ crontab -e
/var/spool/cron/crontabs/nick: Permission denied

nick@home-sv-1:~$ echo $EDITOR
emacs

nick@home-sv-1:~$ ls /var/spool/cron/crontabs
ls: cannot open directory /var/spool/cron/crontabs: Permission denied

nick@home-sv-1:~$ sudo ls -al /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab 4096 2009-10-25 20:45 .
drwxr-xr-x 3 root root    4096 2009-05-18 01:19 ..
-rw------- 1 root root     612 2009-10-25 01:20 root

Problème :

Crontab n'a pas setguid, et ne fait pas partie du groupe crontab.

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-xr-x 1 root root 32048 2009-08-30 03:34 /usr/bin/crontab

Solution :

En tant que racine...

home-sv-1:~# chown root.crontab /usr/bin/crontab
home-sv-1:~# chmod g+s /usr/bin/crontab

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-sr-x 1 root crontab 32048 2009-08-30 03:34 /usr/bin/crontab

20voto

Shane on a bike Points 386

Il est également utile de vérifier les permissions dans /var/spool/cron/crontabs par

ls -al /var/spool/cron/crontabs 

Dans mon cas, cela a montré que l'utilisateur assigné à la crontab était "whoopsie", ce qui signifie qu'il y a eu une erreur dans la configuration de l'utilisateur.

Performer...

chown <username> /var/spool/cron/crontabs/<username>

Corrigé complètement :)

15voto

Christian Deger Points 503

Fait /usr/bin/crontab ont le setgid autorisation fixée ?

\-rwxr-sr-x 1 root crontab 32K 2008-09-28 14:07 /usr/bin/crontab\*

Si non, chmod g+s le (et si nécessaire, chown antes de que)


Edit : Notez que ceci ne s'applique qu'à Vixie Cron (utilisé par la plupart des distributions) ; les autres démons (tels que dcron ) peuvent utiliser des permissions différentes ( setuid ).

8voto

Rommel Samanez Points 71

J'ai eu le même problème. Je l'ai résolu de cette façon.

sudo crontab -u yourUser -e

J'espère que cela vous aidera.

1voto

ibuys Points 69

Vérifiez l'existence d'un fichier /etc/cron.allow et /etc/cron.deny. Si ces fichiers existent, vérifiez que votre nom d'utilisateur se trouve dans /etc/cron.allow.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X