Назад | Перейти на главную страницу

Что могло вызвать ошибку «Permission denied» для команды crontab -e?

Вот некоторые результаты, которые, я надеюсь, будут полезны:

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

Надеюсь, это вам поможет.