क्या आदेश '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

मुसीबत:

Crontab में सेटगाइड नहीं है, और Crontab समूह में नहीं है।

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 / बिन / क्रॉस् * ट

यदि नहीं, chmod g+sतो (और यदि आवश्यक हो , उससे chown पहले )


संपादित करें: ध्यान दें कि यह केवल विक्सी क्रोन पर लागू होता है (अधिकांश डिस्ट्रो द्वारा उपयोग किया जाता है); अन्य डेमॉन (जैसे dcron) विभिन्न अनुमतियों का उपयोग कर सकते हैं ( setuid)।


15

इसके अलावा / var / spool / cron / crontabs द्वारा अनुमतियों की जाँच करना लायक है

ls -al /var/spool/cron/crontabs 

मेरे मामले में ऐसा करने से पता चलता है कि वास्तव में क्रेताब को सौंपा गया उपयोगकर्ता 'व्हाट्सएप' था, जो मुझे लगता है कि उपयोगकर्ता को स्थापित करने में कुछ त्रुटि थी।

प्रदर्शन ...

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

यह पूरी तरह से तय :)


1
इसने मेरे लिए काम किया, लेकिन समस्या यह थी कि वास्तविक / var / स्पूल / cron / crontabs निर्देशिका उपयोगकर्ताओं के लिए अस्वीकार्य थी, इसलिए <username> फ़ाइल नहीं बनाई जा सकी। वॉर्थ की जाँच करना कि एक भी बाहर।
मार्को

2

/Etc/cron.allow और /etc/cron.deny फ़ाइल की जाँच करें। यदि वे फ़ाइलें मौजूद हैं, तो सुनिश्चित करें कि आपका उपयोगकर्ता नाम /etc/cron.allow में है।


1
यह एक अलग त्रुटि संदेश दिखाएगा - "आप ($ USER) को इस कार्यक्रम (crontab) का उपयोग करने की अनुमति नहीं है"
user1686

1

मुझे भी यही समस्या थी। मैंने इसे इस तरह हल किया।

sudo crontab -u yourUser -e

मुझे उम्मीद है इससे आपको मदद मिली होगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.