Вот некоторые результаты, которые, я надеюсь, будут полезны:
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
Crontab не имеет setguid и не входит в группу crontab.
home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-xr-x 1 root root 32048 2009-08-30 03:34 /usr/bin/crontab
Как root ...
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
Также стоит проверить разрешения в / var / spool / cron / crontabs по
ls -al /var/spool/cron/crontabs
В моем случае это показало, что на самом деле пользователь, назначенный для crontab, был «whoopsie», что, как я предполагаю, означает, что при настройке пользователя произошла ошибка.
Выполняется ...
chown <username> /var/spool/cron/crontabs/<username>
Исправлено полностью :)
Делает /usr/bin/crontab
иметь setgid
набор разрешений?
-rwxr-sr-x 1 root crontab 32K 2008-09-28 14:07 /usr/bin/crontab*
Если не, chmod g+s
это (и, если нужно, chown
перед который)
Изменить: обратите внимание, что это относится только к Vixie Cron (используется большинством дистрибутивов); другие демоны (например, dcron
) могут использовать разные разрешения (setuid
).
Проверьте наличие файлов /etc/cron.allow и /etc/cron.deny. Если эти файлы существуют, убедитесь, что ваше имя пользователя находится в /etc/cron.allow.
У меня такая же проблема. Я решил это так.
sudo crontab -u yourUser -e
Надеюсь, это вам поможет.