लिनक्स: नव निर्मित लॉग पर विशिष्ट अनुमतियों को कैसे लागू किया जाए जो लॉग रोटेट द्वारा बनाए गए हैं?


15

मैंने देखा है कि जो मेल लॉग बनाए /var/logजा रहे हैं , वे रूट (उपयोगकर्ता और समूह) द्वारा बनाए और बनाए जा रहे हैं। मैंने एक Nagios चेक लिखा है जो लॉग पर नज़र रखता है और Nagios उपयोगकर्ता को इसे एक्सेस करने की अनुमति देने के लिए, मैंने otherसमूह को पढ़ने की अनुमति दी, अर्थात:

chmod o+r /var/log/maillog

अब जब मैं इसके बारे में सोचता हूं, तो यह केवल एक लॉग फाइल है, जब लॉग फाइल भर जाएगी लॉग रोटेट मैकेनिज्म इस फाइल का नाम बदल देगा और एक नया खोल देगा, लेकिन नई maillogफाइल में वह नहीं होगा read writeजिसकी मैंने अनुमति दी थी।

तो मेरा सवाल है, मैं यह कैसे सुनिश्चित कर सकता हूं कि लॉग रोटेटिंग तंत्र नागालैंड उपयोगकर्ता के लिए सही अनुमतियों के साथ सभी नई मैलोडल फाइलें बनाएगा?

अग्रिम में धन्यवाद

जवाबों:


21

logrotateहै createविकल्प:

create mode owner group

रोटेशन के तुरंत बाद (पोस्ट्रोट स्क्रिप्ट से पहले) लॉग फ़ाइल बनाई गई है (लॉग फ़ाइल के रूप में एक ही नाम के साथ केवल सड़ांध)। modeऑक्टल में लॉग फ़ाइल के लिए मोड निर्दिष्ट करता है (chmod (2) के समान), स्वामी उपयोगकर्ता नाम निर्दिष्ट करता है जो लॉग फ़ाइल का मालिक होगा, और समूह निर्दिष्ट करता है कि लॉग फ़ाइल किस समूह की होगी। लॉग फ़ाइल विशेषताओं में से कोई भी छोड़ा जा सकता है, उस स्थिति में नई फ़ाइल के लिए वे विशेषताएँ उसी मान का उपयोग करेगी जो छोड़ी गई विशेषताओं के लिए मूल लॉग फ़ाइल है। यह विकल्प nocreate विकल्प का उपयोग करके अक्षम किया जा सकता है।

अधिक जानकारी के साथ man logrotate

इसका इस्तेमाल ऐसे करें:

/var/log/maillog {
....
        create 664 user group
....
}

या तो /etc/logrotate.confएक अलग फ़ाइल में /etc/logrotate.dया जाँच और अगर कोई अन्य फ़ाइल पहले से ही इस overrides। यह कैसे कॉन्फ़िगर किया गया है यह आपके ओएस पर निर्भर करता है (जैसे उबंटू पर, यह rsyslogकॉन्फ़िगरेशन में संभाला जाता है )।


मैं कैसे कॉन्फ़िगर कर सकता हूं कि केवल /var/log/maillogभविष्य की लॉग फाइलें वांछित उपयोगकर्ता अनुमतियों के साथ बनाई जाएंगी जो कि पहले से ही लागू किए गए डिफ़ॉल्ट सेटिंग्स में कोई बदलाव किए बिना हैं?
इटाई गनोट

मेरा संपादन देखें और पढ़ें man logrotate(और देखें /etc/logrotate.confऔर /etc/logrotate.dबहुत सारे उदाहरणों के लिए)।
स्वेन

2
@ इताईगोट आपको अपने syslog के कॉन्फिगरेशन को भी ठीक करना चाहिए ताकि यह आपके शुरुआती चामोद को करने के बजाय उचित अनुमति के साथ फाइल बनाए।
जेनी डी

@ जेनीडी, धन्यवाद, इसका मतलब है कि मुझे /var/log/maillogलाइन को हटा देना चाहिए /etc/logrotate.d/syslogताकि सेटिंग्स लगेंगी /etc/logrotate.conf?
इटाई गनोट

2
@ इटायगॉट नं! इसका मतलब है कि आप क्या syslog कार्यक्रम आप उपयोग कर रहे (शायद या तो पता लगाना चाहिए syslog-ngया rsyslog) और इसके विन्यास को बदलना। यह आवश्यक है क्योंकि जब आपके सिस्टम को रिबूट किया जाता है, या किसी अन्य कारण से आपके sloglog प्रोग्राम को फिर से शुरू किया जाता है, तो यह गलत अनुमति के साथ फाइल को फिर से बना सकता है।
जेनी डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.