किसी उपयोगकर्ता के क्रोनोजर को अस्थायी रूप से अक्षम कैसे करें?


14

मैं अस्थायी रूप से एक या एक से अधिक उपयोगकर्ताओं की क्रोन नौकरियों को कैसे निष्क्रिय कर सकता हूं? विशेष रूप से, मैं उपयोगकर्ता के क्रोन अधिकारों को निलंबित नहीं करना चाहता हूं - केवल उनकी किसी भी नौकरी में आग न लगाएं।

मैं SLES 11 SP2 और SP3 सिस्टम पर हूं


क्या आप केवल कमांड के -u userस्विच का उपयोग नहीं कर सकते हैं crontabऔर #दिए गए उपयोगकर्ता को अक्षम करने के लिए नौकरियों के सामने एक टिप्पणी चरित्र डाल सकते हैं?
जानिस

@ जानिस को तब मुझे इस बात पर नज़र रखने की ज़रूरत है कि उपयोगकर्ता क्या है (कई हैं) पहले ही टिप्पणी कर चुके हैं, साथ ही उपयोगकर्ता आगे बढ़ सकता है और दूसरी चीज़ को जोड़ सकता है (मैं उन्हें /etc/cron.deny में नहीं जोड़ रहा हूं)। बहुत अधिक मैनुअल काम :(
दिनेश

दिनेश, मैं (गलत-) समझ गया कि आप जो कुछ भी अक्षम करते हैं उसके बारे में एक ठीक-ठीक नियंत्रण चाहते हैं।
Janis

जवाबों:


10

touch /var/spool/cron/crontabs/$username; chmod 0 /var/spool/cron/crontabs/$usernameचाल चलनी चाहिए। के साथ पुनर्स्थापित करें chmod 600और touch(आपको इसे फिर से लोड करने का प्रयास करने के लिए) क्रोन बनाने के लिए फ़ाइल के माइम को बदलने की आवश्यकता है।

कम से कम डेबियन पर और शायद विक्सी क्रोन के साथ सामान्य रूप से, chmod 400 /var/spool/cron/crontabs/$usernameचाल भी करता है, क्योंकि यह कार्यान्वयन अनुमतियों पर जोर देता है ठीक 600 पर। हालांकि यह केवल तब तक रहता है जब तक उपयोगकर्ता crontabकमांड चलाता है ।

यदि आप एक मजबूत तरीका चाहते हैं, तो मुझे नहीं लगता कि अस्थायी रूप से उनके crontab को रास्ते से हटाने या अनुमतियों को बदलने और अस्थायी रूप से उन्हें जोड़ने से बेहतर कुछ नहीं है /etc/cron.deny


धन्यवाद। मेरे सिस्टम पर यह / var / स्पूल / क्रोन / टैब / $ उपयोगकर्ता नाम है। लेकिन यह अभी भी निष्पादित करता है, के बाद भी chmod
दिनेश

फ़ाइल परमिट बदलने के बाद, मुझे क्रोन को रोकने / पुनः आरंभ करने की भी आवश्यकता थी। मुझे लगा कि शायद इसलिए क्रोन मेमोरी में सामान रख सकता है। इसलिए मैंने touch $usernameबाद में जोड़ा chmod। लेकिन इससे कोई फायदा नहीं हुआ। (btw को अपनी बात मिल गईcron.deny )
दिनेश

@ दिनेश वास्तव में आपको फ़ाइल के माइम को अपडेट करने की आवश्यकता है अन्यथा क्रोन को लगता है कि यह परिवर्तित नहीं हुआ है और कैश्ड जानकारी रखता है। मैंने कल परीक्षण करते समय इस पर ध्यान दिया लेकिन अपने उत्तर में इसका उल्लेख करना भूल गया, इसके बारे में खेद है।
गिल्स एसओ- बुराई को रोकें '

यदि आप सभी मानक उपयोगकर्ताओं के लिए अक्षम करना चाहते हैं:chgrp root /var/spool/cron/crontabs
झींगा

9

कैसे एक उपयोगकर्ता crontab को निष्क्रिय करने के लिए इस तरह के बारे में कुछ:

crontab -l -u [username] >/tmp/[username].cron.tmp
crontab -r -u [username]

और फिर से सक्षम करने के लिए:

crontab -u [username] /tmp/[username].cron.tmp

इसका अतिरिक्त लाभ यह है कि आप इसे रूट की आवश्यकता के बिना उस उपयोगकर्ता के रूप में चला सकते हैं (बस -u पैरामीटर को दूर ले जाएं)।


0

यदि आप डेबियन का उपयोग कर रहे हैं, तो यह केवल डेबियन AFAIK पर लागू होता है :

आप क्रोनजोब के नाम के साथ एक डॉट जोड़कर ऐसा कर सकते हैं।

व्यवहार को डेबियन आधिकारिक डॉक्स पर संदर्भित किया जाता है:

https://www.debian.org/doc/debian-policy/#cron-job-file-names

क्रोन जॉब फ़ाइल नाम में किसी भी अवधि या प्लस वर्ण (? या +) वर्ण शामिल नहीं होने चाहिए क्योंकि इससे क्रोन फ़ाइल को अनदेखा कर देगा। इसके बजाय अंडरस्कोर (_) का उपयोग किया जाना चाहिए। और + अक्षर।


0

यदि आप केवल सभी cronनौकरियों को पूरी तरह से थोड़ी देर के लिए रोकना चाहते हैं - उदाहरण के लिए, सिस्टम रखरखाव करते समय जो वे बुरी तरह से बातचीत कर सकते हैं - आदेश सामान्य रूप से हैं

systemctl stop crond.service

और, फिर से शुरू करने के लिए

systemctl start crond.service

मुझे लगता है कि आपको उन पर अमल करने के लिए रूट या व्हील अथॉरिटी की आवश्यकता है; यदि आवश्यक हो, तो उन्हें sudo के माध्यम से चलाएं या (अंतिम उपाय) रूट के रूप में लॉग करें।

विशिष्ट प्रश्न के लिए ओवरकिल, लेकिन "वन-स्टॉप शॉपिंग" प्रदान करता है और फाइल सिस्टम या अस्थायी फ़ाइलों के साथ खेलने की आवश्यकता नहीं होती है।


3
चूंकि यह सभी उपयोगकर्ताओं के लिए क्रोन को निष्क्रिय करता है, इसलिए यह वास्तव में सवाल का जवाब नहीं देता है।
स्कॉट

-1

मैं सहमत हूँ, systemctl के माध्यम से पथ लेने वाला है। रास्पबेरी पर, पैर की अंगुली कॉमेड्स होगी

sudo systemctl stop cron.service
sudo systemctl start cron.service

1
इससे पूरी cronसेवा बंद हो जाएगी । ओपी यह चुनने में सक्षम होना चाहता था कि कौन से उपयोगकर्ताओं को अक्षम करने के लिए क्रॉस्टैब्स हैं।
रोज़ा

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