অ্যাপাচি সার্ভার লগ ফাইল লিখতে পারেন না


2

আমি একটি জ্যাঙ্গো অ্যাপ্লিকেশন বিকাশ করছি এবং লগফাইলে আমার সমস্যা হচ্ছে। আমি লিখতে একটি লগার কনফিগার করা আছে /var/log/django/django.log। আমি যখন সার্ভারটি শুরু করার চেষ্টা করি তখন আমি একটি 500 ত্রুটি পাই এবং ত্রুটি লগ বলে

ValueError: Unable to configure handler 'djangologfile': [Errno 13] Permission denied: '/var/log/django/django.log'
"httpd/error_log" 480L, 61112C

উভয়ের জন্যই ডিরেক্টরি django.logএবং djangoডিরেক্টরি 777 the সার্ভার কেন ফাইলটিতে লিখতে পারে না?


ফাইলের অনুমতিগুলি রয়েছে 777, তবে যে ব্যবহারকারী লগ লিখেন সে ডিরেক্টরিতে অ্যাক্সেস পায়? (যেমন, সমস্ত পাথের ugo+xডিরেক্টরিগুলির জন্য অনুমতি থাকা উচিত )। আপনি কোন ওএস ব্যবহার করছেন?
nkn

যদি জাঙ্গো ডিরেক্টরিতে 777 অনুমতি থাকে তবে কোনও ব্যবহারকারী কি সেই ডিরেক্টরিতে লিখতে সক্ষম হবে না? আমি ব্যবহার করি না যে ব্যবহারকারীর পুরো পথে লেখার অনুমতি প্রয়োজন।
ইওক

1
লগতে লিখতে থাকা ব্যবহারকারীর প্রতিটি উপ-ডিরেক্টরিকে একে একে শুরু করে অ্যাক্সেস করতে হবে /। সুতরাং, প্রত্যেকের জন্য /varফাঁসির অনুমতি থাকা উচিত ( +x)। তারপরে /var/log। এবং তারপর /var/log/django। যদি তাদের +xসবার কাছে বিট থাকে তবে আমি কোন ওএসটি ব্যবহার করছি সে সম্পর্কে আগ্রহী হব।
nkn

@nKn আমি পথে সমস্ত ডিরেক্টরি তৈরি করেছি 777। তবুও কোনও পরিবর্তন নেই
ইকো

আপনি কোন ওএস ব্যবহার করছেন?
nkn

উত্তর:


1

সম্ভবত SELinuxলেখার প্রচেষ্টাটিকে অবরুদ্ধ করছে। আপনি নিম্নলিখিত কমান্ডটি চালিয়ে এটি অক্ষম করতে পারেন:

setenforce 0

অথবা এটি লেখার অনুমতি দেওয়ার জন্য একটি বিধি তৈরি করুন। এটি করার জন্য, আপনার সিস্টেম লগ ফাইলটি পরীক্ষা করুন এবং "অস্বীকৃত" লাইনটি অনুলিপি করুন, এটি এমন হওয়া উচিত:

audit(...): avc:  denied  { write } for  pid=27984 comm="httpd" name="httpd" dev=sda6 ino=307469 scontext=root:system_r:httpd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=...

এটি অনুলিপি করুন এবং নিম্নলিখিত আদেশটি চালান:

audit2allow -M local << _EOF_
(paste the content)
_EOF_

semodule -i local.pp

এটি এর জন্য একটি স্থায়ী নিয়ম তৈরি করবে যাতে আপনার SELinux অক্ষম করার দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.