AWStats: /var/log/apache2/access.log पर नहीं पहुंच सकते


14

मैंने अपने नए उबंटू ल्यूसिड सर्वर पर awstats स्थापित किया, लेकिन जब क्रोन इसे उपयोगकर्ता के रूप में चलाने की कोशिश करता है www-data, तो यह शिकायत करता है कि cannot access /var/log/apache2/access.log: Permission denied

में /usr/share/doc/awstats/README.Debianइस पैरा नहीं है:

डिफ़ॉल्ट रूप से अपाचे स्टोर (संस्करण 1.3.22-1 के बाद से) के साथ लॉग ऑन करें uid = रूट और gid = प्रशंसा, ताकि आप या तो ...

1) /fc/logrotate.d/apache में लॉगफ़ाइल्स के अधिकार बदलें ताकि www-data में कम से कम रीड एक्सेस हो।

2) 1 के रूप में) लेकिन एक विशिष्ट उपयोगकर्ता के लिए परिवर्तन, और Apache की suEXEC सुविधा का उपयोग एक ही उपयोगकर्ता के रूप में चलाने के लिए (या तो / var / lib / awstats के अधिकार को बदलने के साथ ही या किसी अन्य निर्देशिका का उपयोग करें)। यह अधिक जटिल है, लेकिन तब लॉग आम तौर पर सर्वर तक नहीं पहुंचते हैं (जो शायद अपाचे डिफ़ॉल्ट का बिंदु था)।

3) समूह की प्रशंसा के लिए awstats.pl को बदलें (लेकिन सावधान रहें कि आप तब मशीन पर सामान को प्रशासित करने के लिए CGI- स्क्रिप्ट का उपयोग करने की अनुमति देने का जोखिम उठा रहे हैं!)।

मैं 1 के साथ जाऊँगा, लेकिन अनुदान देने के लिए अनुशंसित अनुमतियाँ क्या हैं?


यह कोशिश करो, अगर यह काम करेगा वादा नहीं: chown www-data:www-data <yourFile>और फिर chmod 655 <yourFile>
TheTuxRacer

1
अच्छी तरह से awstats बनाने के लिए यह पर्याप्त है chmod 755 /var/log/apache2और काम करने के लिए chmod 644 access.log, लेकिन मुझे उत्तर की "यह सबसे अच्छा प्रैटिस है" -मॉडल पसंद है :) हालांकि इसमें चीमिंग के लिए धन्यवाद!
जोरिल

मुझे लगता है कि आप # 1 के साथ जाने के लिए सही हैं (सिर्फ पढ़ने की पहुंच के साथ, जब तक कि कुछ और न हो, जहां जरूरत हो)। यह एक सीमित उपयोगकर्ता खाते तक पहुंच प्रदान करता है, और इससे आगे किसी भी चीज को नई पहुंच प्रदान नहीं करता है।
belacqua

जवाबों:


8

यदि आप बिंदु 1 पर जाते हैं और यह कहते हैं कि www-data में कम से कम पढ़ने की अनुमति होनी चाहिए, तो पुन: प्रस्तुत अनुदान केवल पढ़ने के लिए है।

आप लाइन को बदल सकते हैं (लॉग फ़ाइल में):

create 640 root adm

सेवा

create 644 root adm

सभी उपयोगकर्ताओं (www-data शामिल) को पढ़ने की अनुमति देने के लिए।

आपको इस सेटिंग से मिलान करने के लिए अनुमतियाँ मौजूद फ़ाइलों को / var / log / apache2 / में बदलना होगा

chmod a+r /var/log/apache2/* #or whatever your path is

फिर सभी फ़ाइलों को सभी उपयोगकर्ताओं द्वारा पढ़ा जा सकता है और भविष्य में लॉग इन करने वाली सभी फ़ाइलों के पास विज्ञापन अनुमतियाँ होंगी


2
और "सभी उपयोगकर्ताओं" के लिए "/ var / log / apache2 /" देखने में सक्षम होना चाहिए: adm: chmod a + x / var / log / apache2 /
alfonx

6

अधिकांश सेटअपों में:

  • awstats आपके अपाचे उपयोगकर्ता www-data के रूप में चलता है ;
  • अपाचे लॉग फाइलें रूट के स्वामित्व में हैं : प्रशंसा और है -rw-r ----- (aka: chmod 640 ) अनुमतियां; तथा
  • स्वामित्व और अनुमतियां सेटिंग्स फ़ाइल /etc/logrotate.d/apache2 में मिल सकती हैं , जिसकी सामग्री इस प्रकार है:

    /var/log/apache2/*.log {
        daily
        missingok
        rotate 60
        compress
        delaycompress
        notifempty
        dateext
        create 640 root adm
        sharedscripts
        postrotate
                /etc/init.d/apache2 reload > /dev/null
        endscript }
    

सबसे सरल उपाय है:

1) /etc/logrotate.d/apache2 में अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके " यदि आप सब कुछ स्क्रिप्ट करना चाहते हैं, तो " 640 रूट एडम्स "" 644 रूट एडम्स बनाएं "बदलें।"

sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2

2) /var/log/apache2/access.log और /var/log/apache2/error.log पर अनुमतियों को 644 में बदलें ।

sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log

3) अपाचे को पुनरारंभ करें।

sudo apachectl -k graceful

मैंने लोगों को एक समाधान के रूप में प्रशंसित उपयोगकर्ता समूह में www-डेटा को जोड़ने के लिए देखा है। कि मैं के साथ आराम कर रहा हूँ की तुलना में www-data के लिए बहुत अधिक अनुमतियाँ हैं ।

अन्य अधिक सुरक्षित विकल्पों में एक नया उपयोगकर्ता और समूहों को शामिल करना और आवारा लोगों को इस नए उपयोगकर्ता / समूह के रूप में चलाना / निष्पादित करना शामिल है।


फिर भी एक और समाधान यह होगा कि /var/log/apache2इसके तहत और सब कुछ के समूह को बदल दिया जाए www-dataऔर फाइलों को समूह-पठनीय बनाया जाए। यह उन्हें विश्व-पठनीय बनाने की तुलना में थोड़ा कम अनुमत है।
रीनियर पोस्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.