Що може призвести до відмови у дозволі для команди `crontab -e`?


19

Ось декілька результатів, які, я сподіваюся, є корисними:

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

Проблема:

Кронтаб не має встановлених показників і не входить до групи кронтабів.

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

Рішення:

Як корінь ...

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

Відповіді:


10

Чи /usr/bin/crontabвстановлено setgidдозвіл?

-rwxr-sr-x 1 корінь crontab 32K 2008-09-28 14:07 / usr / bin / crontab *

Якщо ні, chmod g+sто це (і якщо потрібно, chown до цього)


Редагувати: Зауважте, що це стосується лише Vixie Cron (використовується більшості дистрибутивів); інші демони (такі як dcron) можуть використовувати різні дозволи ( setuid).


15

Також варто перевірити дозволи на / var / spool / cron / crontabs від

ls -al /var/spool/cron/crontabs 

У моєму випадку це показало, що насправді користувач, призначений на crontab, був "whoopsie", що, на вашу думку, означає, що в налаштуванні користувача була помилка.

Виконання ...

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

Це виправлено повністю :)


1
Це працювало для мене, але проблема полягала в тому, що фактичний каталог / var / spool / cron / crontabs був недоступний для користувачів, тому файл <username> не вдалося створити. Варто перевірити і це.
Марко

2

Перевірте файл /etc/cron.allow та /etc/cron.deny. Якщо ці файли існують, переконайтеся, що ваше ім’я користувача в /etc/cron.allow.


1
Це показало б інше повідомлення про помилку - "Вам ($ USER) заборонено користуватися цією програмою (crontab)"
користувач1686

1

У мене була така ж проблема. Я вирішив це таким чином.

sudo crontab -u yourUser -e

Я сподіваюся, що це вам допоможе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.