उपयोगकर्ता x इस प्रोग्राम (crontab) का उपयोग नहीं कर सकता


10

उबंटू 14.04

मैं उस व्यवहार को नहीं समझता, जिसे मैं एक सेवा (कोई लॉगिन) खाते (नाम curator) के लिए क्रॉस्टैब के साथ देख रहा हूं ।

जब मैं रूट के रूप में लॉग इन करता हूं, तो मुझे यही मिलता है:

# crontab -u curator -l
The user curator cannot use this program (crontab)

लेकिन, जब मैं उपयोगकर्ता के खाते में जाता हूं, तो यह ठीक काम करता है:

# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator

एक खाली /etc/cron.allowफाइल है और /etc/cron.denyसिस्टम पर कोई फाइल नहीं है। के अनुसार man crontab:

यदि /etc/cron.allow फ़ाइल मौजूद है, तो आपको इस आदेश का उपयोग करने की अनुमति देने के लिए सूचीबद्ध (प्रति पंक्ति एक उपयोगकर्ता) होना चाहिए। यदि /etc/cron.allow फ़ाइल मौजूद नहीं है, लेकिन /etc/cron.deny फ़ाइल मौजूद है, तो आपको इस आदेश का उपयोग करने के लिए /etc/cron.deny फ़ाइल में सूचीबद्ध नहीं होना चाहिए।

जब मैं पहली कमांड चला रहा होता हूं, तो मैं त्रुटि को समझता हूं, लेकिन crontabजब मैं उपयोगकर्ता के खाते में स्पष्ट रूप से स्विच करता हूं तो यह मुझे चलने की अनुमति क्यों देता है ?

/etc/cron.allowदोनों कमांड को ठीक काम करने के लिए उपयोगकर्ता को जोड़ना ।


1
यह सिर्फ यह कहता है कि कोई क्रॉस्टैब नहीं है। यदि आप crontab -e(उपयोगकर्ता क्यूरेटर के रूप में) एक बनाने की कोशिश करेंगे तो क्या होगा ?
फिक्सिमन

1
योनि के भरोसेमंद छवि पर इस मुद्दे को पुन: उत्पन्न नहीं कर सकता; एक खाली साथ cron.allowफ़ाइल, दोनों root crontab -u vagrant -lऔर crontab -lके रूप में vagrantएक में परिणाम are not allowed to use this programसंदेश (जो संदेश आप बोली से अलग है)।
thrig

जवाबों:


11

मैंने crontab स्रोतों की जाँच की और पाया कि यदि उपयोगकर्ता /etc/cron.allow(उदाहरण के बाद chmod 0 /etc/cron.allow) नहीं खोल सकता है , तो crontab को लगता है कि उपयोगकर्ता को इसका उपयोग करने की अनुमति है (जैसे कि cron.allowमौजूद नहीं था)।

लेकिन रूट किसी भी फाइल को पढ़ सकता है, इसलिए crontab चेकिंग कोड उम्मीद के मुताबिक काम करता है। इसलिए मैं आपको पहले अनुमतियों /etc/cron.allowऔर शायद SELinux / AppArmor ऑडिट लॉग पर जांच करने की सलाह देता हूं ।


ऐसा प्रतीत होता है - मैंने यह सत्यापित किया है कि chmod -r /etc/cron.allowवास्तव में मेरे Ubuntu 14.04 सिस्टम पर वर्णित व्यवहार का कारण बनता है
स्टीलरड्रायर

सटीक! मेरी /etc/cron.allowअनुमति थी 600, इसे 644दोनों में बदलने के बाद rootऔर संदेश को curatorदेखा not allowed to use this program (crontab)। फिर, जोड़ने के बाद curatorकरने के लिए /etc/cron.allowदोनों क्यूरेटर के crontab इस्तेमाल कर सकते हैं।
एडम मिशालिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.