এই জাতীয় সমস্যা আপনার ব্যবহৃত ওএস এবং এটি কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে। কিছু লিনাক্স ডিস্ট্রো (মূলত যারা সেন্টস বা ফেডোরার মতো আরএইচইএল ভিত্তিক থাকে) ডিফল্টরূপে সক্রিয় SELinux নিয়ে আসে। নিম্নলিখিত কমান্ডগুলি সহ এটি পরীক্ষা করা যায় এবং অস্থায়ীভাবে পরিবর্তিত হতে পারে:
root@ls:~# /usr/sbin/getenforce
Enforcing
root@ls:~# /usr/sbin/setenforce Permissive
root@ls:~# /usr/sbin/getenforce
Permissive
আপনার সাথে বর্তমান কনফিগারেশনটিতে আরও একটি সম্পূর্ণ দর্শন থাকতে পারে:
root@ls:~# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
এই পরিবর্তনটি সম্পাদনা করে স্থায়ী করা যেতে পারে /etc/selinux/config
ফাইল এবং সেট SELINUX
পরিবর্তনশীল permissive
বা disabled
।
তবে, এই ধরণের সমস্যা সমাধানের সঠিক উপায় হ'ল আপনি যদি সত্যিই এই পরিস্থিতিতে থাকেন তবে /var/log/audit/audit.log
লগ ফাইলটি পরীক্ষা করা । এতে সেলিনাক্স নিয়ম সম্পর্কিত সমস্ত ইভেন্ট থাকবে। তারপরে আপনার সম্ভবত আপনার স্ক্রিপ্টটি সঠিক প্রসঙ্গ দেওয়া উচিত, অর্থাৎ অ্যাপাচি / পিএইচপি ব্যবহারকারী দ্বারা চালিত হওয়ার জন্য অনুমোদিত being সেলিনাক্স সুরক্ষা প্রসঙ্গটি যাচাইয়ের সাথে এটি করা হয় ls -Z
:
root@ls:~# ls -alZ /var/www/cgi-bin/
drwxr-xr-x root root system_u:object_r:httpd_sys_script_exec_t .
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t ..
এটি প্রতিটি ফাইল / ডিরেক্টরিতে ব্যবহারকারী, ভূমিকা এবং ধরণের তালিকাবদ্ধ করে। এখানে httpd_sys_script_exec_t
টাইপটি সিজিআই ডিরেক্টরিতে ফাইলগুলি httpd দ্বারা সম্পাদন করার অনুমতি দেয়। আপনার শেল স্ক্রিপ্ট সম্ভবত একই ধরণের হওয়া উচিত।
আপনি কমান্ডটিতে audit.log
লাইনগুলিও খাওয়াতে পারেন audit2allow
। এটি আপনাকে সেলিনাক্সকে খুশি করতে প্রয়োজনীয় পরিবর্তনগুলি আউটপুট করে। তবে সাধারণত প্রস্তাবিত পরিবর্তনগুলি সেলইনাক্স নীতিতে নিজেই করা উচিত যা আপনার ক্ষেত্রে আপনার কী করা উচিত নয় (তবুও, এই আউটপুটটি যা চলছে তাতে কিছুটা ক্লু দিতে পারে)।
নীচের পৃষ্ঠাটিতে অনুরূপ সমস্যা এবং এটি সমাধানের বিভিন্ন উপায় বর্ণনা করা হয়েছে: http://sheltren.com/stop-disabling-selinux
x
ফাইলটিতে অনুমতিগুলি নির্বাহ ( ) নির্ধারণ করেছেন? আপনি কি শেবাং লাইনে স্ক্রিপ্ট ইন্টারপ্রেটারকে নির্দিষ্ট করেছেন?