ওয়েবসাইট ডকুমেন্ট রুটের জন্য / var / www / html এবং আমার নিজের হোম ডিরেক্টরিতে অনুমতি সমস্যা


34

আমি আমার ফোল্ডারে 7 permission7 অনুমতি না দেওয়ার চেষ্টা করছি /var/www/html, তবে আমি আমার ফাইলগুলি ছাড়া এডিট করতে চাই sudo। সুতরাং আমি যদিও এর মধ্যে আমার হোম ডিরেক্টরিতে একটি ফোল্ডারের একটি সিমিলিংক তৈরি করেছি /var/www/html। আমি এটি ব্যবহার করে তৈরি করেছি sudo ln -sT /home/andre/www/moodle/ moodleএবং ls -laআউটপুটটি এটি:

andre@andre-270E5G:/var/www/html$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Mai  4 10:20 .
drwxr-xr-x 4 root root 4096 Abr 29 14:29 ..
lrwxrwxrwx 1 root root   23 Mai  4 10:20 moodle -> /home/andre/www/moodle/

সুতরাং, আমার মুডল ফোল্ডারটি প্রত্যেকের জন্য অনুমতিগুলি পড়ে, লিখতে এবং চালিত করে এবং আমি যা চাই তা তা নয় not আমি sudo chmod -R 775 moodle/এটি পরিবর্তন করার চেষ্টা করে কমান্ডটি ব্যবহার করেছি, তবে এটি সবার কাছে পঠন, লেখার এবং অনুমতি কার্যকর করার সাথে থাকে। আমি মুডল ফোল্ডারের সাথে একই চেষ্টা করেছি /home/andre/www/moodle, তবে এটি একই রকম ছিল। ls -laইন আউটপুট /home/andre/www/হয়:

andre@andre-270E5G:~/www$ ls -la
total 28
drwxrwxr-x  3 andre andre  4096 Mai  4 10:02 .
drwx------ 49 andre andre 20480 Mai  4 10:01 ..
drwxrwxr-x 41 andre andre  4096 Mai  4 10:02 moodle

সুতরাং ফোল্ডারের moodleমধ্যে /home/andre/www/অনুমতির আমি চাই হয়েছে।

অতিরিক্ত সমস্যা হিসাবে, আমি যখন অ্যাক্সেস localhost/moodleকরি তখন আমি 403 নিষিদ্ধ ত্রুটি পাই।

আমি এখানে কি ভুল করছি?

উত্তর:


63

আপনার নিজের ডিরেক্টরি ডিরেক্টরি থেকে কোনও ওয়েবসাইট চালানো উচিত নয়কখনোই না। আপনাকে অন্যথায় ওয়েব সার্ভারটি অতিক্রম করার ক্ষমতা দিতে হবে- ওয়েব সার্ভারটি আপনার হোম ডিরেক্টরিটি সেই অবস্থানটিতে পৌঁছাতে সক্ষম হতে হবে যা সিমলিংকটিনির্দেশ করে, যা এখনও সেই সুরক্ষা ঝুঁকি তৈরি করে।/home/ ডিরেক্টরি কাঠামোটি দেখতে মধ্যেও /home/$USER/(আপনার ব্যবহারকারীর হোম ডিরেক্টরি, যেখানে আমরা চেষ্টা করতে পারি এবং আপনার ব্যবহারকারীর ডিরেক্টরিতে কী রয়েছে তা দেখতে পাই) পাশাপাশি অন্য কোনও সাবফোল্ডারও দিতে হবে সেখানে. একটি দুর্বল-কনফিগার করা বা ভুল কনফিগার করা বা অপরিশোধিত ওয়েব সার্ভারের ফলে এইভাবে বিশাল ডেটা ফাঁস হতে পারে, বা শংসাপত্রগুলির ক্ষতি হতে পারে যা আপনার ব্যক্তিগত ডেটা এবং লগইনগুলিকে বিভিন্ন জিনিসে ঝুঁকির মধ্যে ফেলতে পারে। আপনি যে সিমলিংক পদ্ধতিটি ব্যবহার করছেন সেটি অ্যাপাচি পড়ার অনুমতি দেওয়ার চেষ্টা করার মতো কারণ হিসাবে কার্যকর হয় না/home/andre/www/moodle/var/www/html

প্রথমত, ব্যবহার করুন sudo cp -r /home/andre/www/moodle/ /var/www/html/। এটি আপনার ফাইলগুলিকে অনুলিপি করবে /var/www/htmlএবং এটিকে আপনার নিজের হোম ডিরেক্টরি থেকে দূরে রাখবে। এরপরে আমরা অনুমতিগুলি আবারও করব যাতে আপনি এবং ওয়েব সার্ভার সেই ডিরেক্টরিতে থাকা সমস্ত কিছু অ্যাক্সেস করতে এবং আপনার ব্যবহারকারীকে সমস্ত ফাইল এবং ডিরেক্টরিতে সম্পূর্ণ পঠন / লেখার সুযোগ দিতে পারেন। তারপরে, আপনাকে কেবল /var/www/htmlনিজের সাইটের জন্য কাজ করতে হবে ।

আপনি কার্যকরভাবে আপনার ডেটা অনুলিপি করার পরে, চারটি পদক্ষেপ কার্যকর হয় /var/www/html:

  1. ফোল্ডার এবং ফাইলগুলিতে অ্যাপাচিকে অ্যাক্সেস দিন, যাতে এটি 403 ত্রুটি ছাড়াই সাইট পরিবেশন করতে পারে।
  2. আপনার ব্যবহারকারীকে ফাইল এবং ফোল্ডারগুলির উপরে 'মালিক' দিন এবং সমস্ত ফাইল এবং ফোল্ডারগুলিতে নিজেকে পড়তে / লেখার পাশাপাশি ডিরেক্টরিগুলি পেরিয়ে যাওয়ার ক্ষমতা দিন।
  3. (Butচ্ছিক তবে প্রস্তাবিত) এটি এমন সেট আপ করুন যে ডিরেক্টরি কাঠামোর সম্পূর্ণরূপে এখান থেকে তৈরি যে কোনও ফাইল বা ফোল্ডারগুলির গোষ্ঠী সেট করা আছে www-data
  4. (Alচ্ছিক) চূড়ান্ত সুরক্ষা ক্লিনআপ, যেখানে আমরা অনুমতি সেট আপ করেছি যাতে আপনি এবং ওয়েব সার্ভার সাইটের ডেটা দেখতে পারেন তবে অন্যান্য ব্যবহারকারীরা সাইটের জন্য ফাইল বা ডিরেক্টরি কাঠামো অ্যাক্সেস করতে পারবেন না।

(1) ফোল্ডার এবং ফাইলগুলিতে অ্যাপাচি অ্যাক্সেসের অনুমতি দিন।

sudo chgrp -R www-data /var/www/html
sudo find /var/www/html -type d -exec chmod g+rx {} +
sudo find /var/www/html -type f -exec chmod g+r {} +

এটি পুনরাবৃত্তভাবে www-dataফোল্ডার এবং ফাইলগুলির জন্য 'গ্রুপ' সেট করে । এটি তখন ওয়েব সার্ভারকে পুনরাবৃত্তি করতে এবং সাইট ডকুমেন্টের রুট ডিরেক্টরি কাঠামো ( +xকেবল ডিরেক্টরিগুলির জন্য) অ্যাক্সেস পেতে অনুমতি দেয় । এরপরে এটিও নিশ্চিত করে যে ওয়েব সার্ভারে সমস্ত ফাইলের অনুমতি পড়তে হবে, যাতে সাইট ডেটা পাওয়া যায়।

কিছু ক্ষেত্রে থাকতে পারে যেখানে আপনাকে ওয়েব সার্ভারকে কোনও ফাইল বা ডিরেক্টরিতে লেখার অনুমতি দিতে হবে - এটি করার মাধ্যমে এটি অর্জন করা যেতে পারে sudo chmod g+w /var/www/html/PATH( PATHডিরেক্টরি কাঠামোর ফাইল বা ফোল্ডারের পথ যেখানে আপনাকে প্রয়োগ করতে হবে ওয়েব সার্ভারের জন্য অনুমতি লিখুন)।

বিজ্ঞপ্তি : অনেকগুলি ক্ষেত্রেই এটি কোনও সাইটের কনফিগারেশন (যেমন ডাটাবেস অ্যাক্সেস শংসাপত্রাদি ইত্যাদি) সম্পর্কে 'সুরক্ষিত' তথ্য প্রকাশ করতে পারে এবং সেই পৃথক ফাইল বা ডিরেক্টরিতে সেই ডেটাতে 'অন্যান্য' অ্যাক্সেসের অনুমতিগুলি আপনাকে সরিয়ে ফেলতে হবে নিম্নলিখিত: sudo chmod o-rwx /var/www/html/FILEPATH( ফাইলের ফোল্ডারের FILEPATHসাথে সম্পর্কিত পাথের পরিবর্তে /var/www/html))

এটিও নোট করুন যে ভবিষ্যতে 'নতুন ফাইলগুলি' ৪০৩ টি সমস্যা পেলে, ওয়েব সার্ভারকে তৈরি হওয়া বা অনুলিপি করা এবং অনুলিপি করা ফাইল এবং ফোল্ডারগুলিতে অ্যাক্সেস রাখতে সক্ষম করার জন্য সঠিক অনুমতি দেওয়ার জন্য আপনাকে ভবিষ্যতে এই কমান্ডগুলি আবার চালাতে হতে পারে may www-dataসঠিকভাবে গ্রুপ সেট করা হচ্ছে না ।


(২) আপনার মালিককে ফোল্ডার এবং ফাইলগুলিতে পড়ার / লেখার সুযোগ দিন এবং ডিরেক্টরি কাঠামোকে অতিক্রম করতে ফোল্ডারের অ্যাক্সেসের অনুমতি দিন।

sudo chown -R USER /var/www/html/
sudo find /var/www/html -type d -exec chmod u+rwx {} +
sudo find /var/www/html -type f -exec chmod u+rw {} +

USERআপনার নিজস্ব ব্যবহারকারীর সাহায্যে প্রথম কমান্ডে প্রতিস্থাপন করুন !

আমরা এখানে তিনটি জিনিস করি। প্রথমত, আমরা আপনার ব্যবহারকারীকে সমস্ত ফাইল এবং ডিরেক্টরিগুলির "মালিক" হিসাবে সেট করেছি /var/www/html। এরপরে, আমরা ফোল্ডারগুলিতে পড়ার এবং লেখার অনুমতি সেট করেছিলাম এবং ফোল্ডারগুলিতে সেগুলিতে প্রবেশ করার অনুমতি দিই ( +xডিরেক্টরিতে আইটেমটি)। তারপরে আমরা সমস্ত ফাইলের মালিকের জন্য পড়ার / লেখার অনুমতি রাখতে সেট করেছিলাম যা আমরা সবেমাত্র সেট করেছি।


(3) (alচ্ছিক) প্রতিটি নতুন ফাইল www-data'অ্যাক্সেস' ব্যবহারকারী হিসাবে তৈরি হওয়ার পরে নিশ্চিত করুন ।

sudo find /var/www/html -type d -exec chmod g+s {} +

এটি ডিরেক্টরিগুলিতে গোষ্ঠীর জন্য "সেট গিড" বিট সেট করে। এই ডিরেক্টরিগুলির মধ্যে তৈরি ফাইল এবং ফোল্ডারগুলির www-dataওয়েব সার্ভার অ্যাক্সেসের অনুমতি দিয়ে সর্বদা গ্রুপ হিসাবে থাকবে will


(4) (ptionচ্ছিক) চূড়ান্ত সুরক্ষা ক্লিনআপ, আপনি না চাইলে অন্যান্য ব্যবহারকারীরা ডেটা দেখতে সক্ষম হন

ডিরেক্টরি এবং ফাইলগুলি দেখতে আমাদের ব্যবহারকারীর দরকার। এটি করার জন্য আমাদের ওয়েব-সার্ভারও দরকার। আমরা অন্যান্য সিস্টেম ব্যবহারকারীদের (রুট ব্যতীত) ডেটা দেখতে চাই না। সুতরাং তাদের সেই অ্যাক্সেসটি দেয় না এবং এটি কেবল আপনার ব্যবহারকারী এবং ওয়েব সার্ভার ডেটা দেখতে পারে make

sudo chmod -R o-rwx /var/www/html/

দ্রষ্টব্য: আপনাকে পরবর্তী সময়ে এটি আবার চালাতে হবে না, বা এখানে 'অন্যান্য' বিভাগের অনুমতিগুলির জন্য অনুমতিগুলি সম্পাদনা করতে হবে না। যদি 'অন্যান্য' ব্যবহারকারীরা না পেতে পারেন /var/www/html/(তাদের কাছে ফাইল স্ট্রাকচার এবং ডিরেক্টরি কাঠামোটি অতিক্রম করতে প্রয়োজনীয় +xবিট /var/www/htmlনেই, না +rফাইল তালিকাগুলি পড়ার বিট নেই ), তবে অন্য ব্যবহারকারীদের জন্য ডিরেক্টরিটির নীচে থাকা আইটেমগুলির অনুমতিগুলি রয়েছে বা গোষ্ঠীগুলি সত্যই খুব বেশি গুরুত্ব পাচ্ছে না।


এটির জন্য সামান্য কম আক্রমণাত্মক সমাধানও রয়েছে, যদিও এটি সমস্ত নতুন ফাইলের জন্য কাজ করার গ্যারান্টিযুক্ত নয়, বা ফাইল অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি জড়িত সমস্ত ফাইল সিস্টেমে কাজ করার নিশ্চয়তাও দেওয়া হচ্ছে না । এটি আপনাকে www-dataজিনিসগুলির সাথে ফাইলগুলির মালিকানা ছেড়ে দিতে দেয়, তবে আপনাকে ব্যক্তিগতভাবে ফাইলগুলির মালিক না হলেও সমস্ত উদ্দেশ্য এবং উদ্দেশ্যে আপনাকে কার্যকর মালিকের অধিকার দেয় purposes

এই সমাধানটি সামান্য কম আক্রমণাত্মক, এবং আপনাকে নিজস্ব ডিরেক্টরিতে www-data:www-dataবা root:www-dataনিজেরাই অ্যাক্সেস দিতে পারে এমন একটি ডিরেক্টরি এবং সমস্ত ফাইল রাখতে দেয়। এটি অ্যাক্সেস কন্ট্রোল তালিকাগুলি ব্যবহার করে , যা আপনাকে পৃথক গোষ্ঠী স্থাপন না করে একাধিক ব্যবহারকারীর অনুমতি পেতে দেয়। এটাও দেয় rootবা www-dataসিস্টেম ব্যবহারকারীগণ নিজস্ব ফাইল, কিন্তু আপনি একটি কেস-বাই-কেস ভিত্তিতে অতিরিক্ত অনুমতির যোগ করতে দেয়, এবং কিছু ব্যবহারকারীদের জন্য নিখুঁত টিউন অনুমতি তাই তারা কিছু কিন্তু সম্পাদনা, এবং এই ধরনের পড়তে পারেন।

ধরে নিই আমরা এখনও কাজ করছি /var/www/html/, এবং আমরা আমাদের এবং সিস্টেম (এবং অবশ্যই মূলত) ব্যতীত স্নুপিং ব্যবহারকারীদের আমাদের ডেটা দেখতে চাই না, আমাদের নিম্নলিখিত বিষয়গুলি করতে হবে:

  1. ওয়েবসার্ভার সিস্টেম ব্যবহারকারীকে মালিকানা ফিরিয়ে দিন www-data
sudo chown -R www-data: www-data / var / www / html
  1. অন্যান্য ব্যবহারকারীদের ( অবশ্যই বাদে www-dataএবং rootঅবশ্যই) ফাইলগুলিতে অ্যাক্সেস না দেওয়ার সময় পুনরাবৃত্তভাবে আপনাকে ফাইলগুলি পড়তে / লিখতে দিন ।
sudo / var / www / html -type f -exec setfacl -mu: YOURUSERNAME: rw -m other :: --- {} \;
  1. ডিরেক্টরিতে পুনরাবৃত্তভাবে নিজেকে পড়ুন / লিখুন / ট্রান্সভার দিন, অন্যান্য ব্যবহারকারীদের ফোল্ডারে অ্যাক্সেস সরিয়ে (বাদ দিয়ে www-dataএবং root) এবং ডিরেক্টরিগুলিতে নতুন ফাইলগুলির জন্য এটি 'ডিফল্ট' এসিএল হিসাবে সেট করুন।
sudo / var / www / html -type d -exec setfacl -d -mu: আপনার ব্যবহারকারী নাম: rwx -mo :: --- {} \;
  1. আমাদের setgidসমস্ত ডিরেক্টরিতেও বিট সেট করতে হবে, যাতে আপনি একটি ফাইল তৈরি করেন তবে www-dataগ্রুপটি অনুমতি অনুসারে ওয়েবসভারটি এটিকে অ্যাক্সেস করতে পারে ।
sudo / var / www / html -type d -exec chmod g + x {} \;

এবং এখন আপনি সমস্ত ডিরেক্টরিতে অ্যাক্সেস পেয়েছেন, এবং আপনাকে অ্যাক্সেস নিতে হবে না www-dataযা ওয়েবসারভার এখনও যেখানেই ফাইলগুলি তৈরি করতে পারে যেমন সাহায্য করে (যেমন পিএইচপি ভিত্তিক সীমানাগুলির নিজস্ব ক্যাশে ডিরেক্টরি রয়েছে এবং যেমন সঠিক ক্রিয়াকলাপের জন্য তৈরি এবং লিখিত হওয়া প্রয়োজন)।

একমাত্র সতর্কতামূলক: আপনি যদি ম্যানুয়ালি নতুন ফাইল তৈরি করেন তবে ওয়েবসভারটির মালিকানা দেওয়ার জন্য আপনাকে সেগুলি মেনে চলা দরকার। এটি একটি সহজ sudo chown www-data:www-data filename, এবং অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি আপনাকে এখনও ফাইলটিতে কার্যকর মালিকের অধিকার থাকতে দেয়।

এমন একাধিক কেস রয়েছে যেখানে প্রদত্ত ফাইলের মালিকদের পরিবর্তন না করে কিছু প্রকার মানহীন অ্যাক্সেসের জন্য আমাকে সিসাদমিন হিসাবে এটি করতে হয়েছিল। এটি কাজ করে তবে এর নিজস্ব মাথা ব্যাথা রয়েছে কারণ প্রতিটি ফাইল সিস্টেম ফাইল অ্যাক্সেস তালিকাকে সমর্থন করে না ।


2
@ অ্যান্ড্রে কার্বালহো +xফাইলগুলিতে এক্সিকিউটেবল অনুমতি দেবেন এবং আমরা পিএইচপি ফাইলগুলি কার্যকরভাবে পিএইচপি কমান্ড লাইনের মাধ্যমে বা সার্ভারে এক্সিকিউটেবল হিসাবে চাই না - আমরা ওয়েব সার্ভারে পিএইচপি পার্সার দ্বারা প্রক্রিয়া করতে চাই (এবং আমরা +xপিএইচপি পার্সারগুলির পড়তে এবং তাদের প্রক্রিয়া করার জন্য পিএইচপি ফাইলগুলির দরকার নেই)। ডিরেক্টরিগুলির +xমাধ্যমে ট্র্যাভারসালকে অনুমতি দেওয়ার জন্য ডিরেক্টরিগুলি প্রয়োজন - এটি হ'ল যদি কোনও ডিরেক্টরি না থাকে +xএবং আমি রুট না হয় তবে আমি ডিরেক্টরিতে প্রবেশ করতে পারব না, এটিই হ'ল অ্যাপাচি আপনার সমস্যা এবং আপনার বাড়ির সাথে কাজ না করার বিষয়টি নিয়ে had ডিরেক্টরি।
টমাস ওয়ার্ড

1
@ আন্দ্রে কারভালহো www-dataএকটি সিস্টেম গ্রুপ - এটি স্ট্যান্ডার্ড ব্যবহারকারীদের জন্য থাকা কোনও গ্রুপ নয়
টমাস ওয়ার্ড

1
@ জুনাইদকাদিরশেখানজাই সরবরাহ করা অসম্ভব যেহেতু মানুষের সেটিংস তাদের প্রয়োজনীয় পরিবেশ এবং অন্যান্য অনেক কারণের চেয়ে অনেক বেশি পৃথক। যেমন একটি 'শেল ফাইল' উত্পাদন করা অসম্ভব যে এখানে alচ্ছিক উপাদান রয়েছে। আমি পারতাম চেষ্টা এবং একটি পাইথন স্ক্রিপ্ট যে এই কাজ করতে পারে না, কিন্তু আমরা এখনও সিস্টেম সীমাবদ্ধতা, ঐচ্ছিক কাজগুলো, নানারকম পাথ ইত্যাদি ভালো জিনিস মধ্যে চালানো
টমাস ওয়ার্ড

1
@ টি টুডো আমি যা বলেছিলাম তা নয়। আমি বলেছিলাম যে আপনার "হোম" ডিরেক্টরিটি বাইরে কখনও পড়া (পড়া উচিত: এর মধ্যে থেকে) করা উচিত নয় - অর্থাৎ আপনার কোনও ওয়েবসভারে কিছু চালানো উচিত নয় । আপনি আমার ব্যবহার করা শব্দের অর্থ ভুল ব্যাখ্যা করেছেন এবং ভুল বুঝেছেন। ওয়েবসাইটগুলি চালনার জন্য তুলনামূলকভাবে 'নিরাপদ' জায়গা কারণ এটি এর জন্য ডেডিকেটেড ফোল্ডার / স্থান। তবে, এটি নিরাপদ নয় কারণ এটি ইনস্টল এবং এই জাতীয় ওয়েবসাইটগুলির দ্বারা লিখেছিল এবং এটি গুরুত্বপূর্ণ ডেটা ক্লোবার্বিংয়ের দিকে পরিচালিত করে (সুতরাং পরিবর্তে পৃথক সাইট সাবডিয়ারদের সাথে ব্যবহার করুন)/home/USER/.../var/www/*/var/www/html/var/www/SUBDIRECTORY
টমাস ওয়ার্ড

1
আমি স্পষ্টতার জন্য শব্দটি সামঞ্জস্য করেছি।
টমাস ওয়ার্ড

2

অনুমতি সংক্রান্ত সমস্যা সমাধানের জন্য সিমলিংকগুলি ব্যবহার করার সম্পূর্ণ ধারণাটি ত্রুটিযুক্ত এবং কাজ করতে পারে না। সিমলিংকের জন্য যে অনুমতিগুলি প্রদর্শিত হয় সেগুলি বেশিরভাগ অপ্রাসঙ্গিক, এগুলি "সত্যিকারের" ডিরেক্টরিটির অনুমতিগুলি নষ্ট করার জন্য ব্যবহার করা যায় না। থেকে একটি সিমবলিক লিঙ্ক তৈরি করা হচ্ছে /var/www/html/moodleথেকে /home/andre/www/moodle/জন্য অনুমতি পাশকাটিয়ে নেই /home/andre/www/moodle/। যে কেউ, যিনি স্টাফ /var/www/html/moodleকরতে চান কেবল সে তা করতে পারে, যদি তার জন্য প্রয়োজনীয় অনুমতি থাকে /home/andre/www/moodle/

আপনার মৃত্যুদন্ড sudo chmod -R 775 moodle/আসলে করেনি প্রভাব আছে, কিন্তু ভিন্নভাবে থেকে কি আপনি ভেবেছিলাম এটা সিমবলিক লিঙ্ক অনুমতি পরিবর্তন না করে, কিন্তু সিমবলিক লিঙ্ক লক্ষ্য /home/andre/www/moodle/

403 ত্রুটিটি আপনি ওয়েবসার্ভারে পেয়ে যাচ্ছেন কারণ সম্ভবত আপনার ওয়েবসভারটিতে প্রবেশের প্রয়োজনীয় অনুমতি নেই /home/andre। এটি "অতিরিক্ত সমস্যা" নয়, তবে একই অনুমতিজনিত সমস্যার কারণে।

সুতরাং সিমলিঙ্কগুলি ব্যবহার করার পরিবর্তে, আপনাকে এমন অনুমতিগুলি খুঁজে বের করতে হবে যা আপনাকে ফাইল এবং ওয়েব সার্ভারগুলিতে অ্যাক্সেস করার (বা এমনকি এডিট করতে সক্ষম করে তোলে যা অ্যাপ্লিকেশনটির উপর নির্ভর করে) সম্পাদনা করতে দেয়। এই অনুমতিগুলি ঠিক কী, আপনার সঠিক ব্যবহারের ক্ষেত্রে (আপনার অ্যাপ্লিকেশন এবং সার্ভারের কনফিগারেশন) উপর নির্ভর করে।

সাধারণত আমি মনে করি যে এটি আপনার নিজেরাই ফাইলগুলির মালিক এবং rw অনুমতি রয়েছে এটি একটি ভাল ধারণা, ওয়েব সার্ভারটি কেবলমাত্র গ্রুপের অনুমতিগুলির মাধ্যমে ফাইলগুলিতে অ্যাক্সেস পড়তে পারে এবং অন্য সমস্ত ব্যবহারকারীর কোনও প্রবেশাধিকার নেই।

অনুমতি উদাহরণ (যা তথ্য ব্যবহারের কারণে আপনার ব্যবহারের ক্ষেত্রে কাজ না করে):

andre@fermat:/var/www/html$ ls -al moodle/
total 0
drwxr-x--- 2 andre www-data 60 mai  4 16:20 .
drwxr-xr-x 3 root  root     80 mai  4 16:20 ..
-rw-r----- 1 andre www-data  0 mai  4 16:20 index.html

আপনি দেখতে পাচ্ছেন যে ডিরেক্টরিতে এটি প্রবেশ করার জন্য এবং এর সামগ্রীটি সংশোধন করার জন্য ডিরেক্টরিতে আপনার পর্যাপ্ত অ্যাক্সেস রয়েছে, ওয়েব সার্ভার (গ্রুপে www-data) প্রবেশ করতে এবং পড়তে পারে। ফাইলগুলি নিজেরাই আপনার (মালিকের) কাছে পাঠযোগ্য এবং লিখিতযোগ্য এবং ওয়েব সার্ভারে (গ্রুপে www-data) পাঠযোগ্য । অন্য সমস্ত ব্যবহারকারীর কাছে যাবতীয় কোনও অ্যাক্সেস নেই।

আবার, দয়া করে এটি কেবল উদাহরণ হিসাবে গ্রহণ করুন। আপনার ওয়েব সার্ভারের সঠিক ব্যবহারকারী / গোষ্ঠীটি আপনার কনফিগারেশনের উপর নির্ভর করে। এবং আপনার অ্যাপ্লিকেশন (মুডল) এর জন্য বিভিন্ন অনুমতি প্রয়োজন হতে পারে, আপনাকে এর ডকুমেন্টেশনের সাথে পরামর্শ করতে হবে।


সম্মত, তবে এটি খুব কার্যকর নয় যদি তারা অনুমতিগুলি কীভাবে সঠিকভাবে সেট করতে হয় তা না জানে এবং তারা অন্যান্য সমস্যাগুলিতেও চলে।
থমাস ওয়ার্ড

@ থমাসডাব্লু .: তারপরে অনুমতিগুলি কীভাবে সঠিকভাবে সেট করবেন সে প্রশ্নটি ওয়েবসারভার কনফিগারেশন, ফাইলগুলি সম্পাদনার কাঙ্ক্ষিত উপায় এবং অ্যাপ্লিকেশনগুলির প্রয়োজনীয়তার মতো একটি নতুন প্রশ্ন হওয়া উচিত।
মাস্তভ

বা একটি সঠিক উত্তর হিসাবে লিখিত - যা আমি এখন করছি। আপনার কোনও ওয়েবসাইটের জন্য অ্যালসকে কখনই হোম / ইউএসআই / বাইরে আউট করা উচিত নয়, যদি ওয়েব সার্ভারটি সঠিকভাবে প্যাচ করা বা কনফিগার করা না থাকে তবে এতে প্রচুর অন্যান্য 'ব্যবহারকারীর' ডেটা অ্যাক্সেস থাকে।
থমাস ওয়ার্ড

@ মাষ্টভ বুঝতে পেরেছি। আপনার ব্যাখ্যা সহ আমার অনেক প্রশ্ন সমাধান হয়েছে।
আন্দ্রে কারভালহো

2

টমাস ওয়ার্ড https://askubuntu.com/a/767534/717860 দ্বারা দুর্দান্ত উত্তর

আপনি 8 টি আদেশের পরিবর্তে 3 টি আদেশে সমস্ত প্রস্তাবিত পদক্ষেপগুলি করতে পারেন:

3 আদেশ:

sudo chown -R ubuntu:www-data /var/www
sudo find /var/www -type d -exec chmod 2750 {} \+
sudo find /var/www -type f -exec chmod 640 {} \+

নিম্নলিখিত 8 টি আদেশ হিসাবে একই কাজ করুন:

sudo chgrp -R www-data /var/www
sudo find /var/www -type d -exec chmod g+rx {} +
sudo find /var/www -type f -exec chmod g+r {} +
sudo chown -R ubuntu /var/www/
sudo find /var/www -type d -exec chmod u+rwx {} +
sudo find /var/www -type f -exec chmod u+rw {} +
sudo find /var/www -type d -exec chmod g+s {} +
sudo chmod -R o-rwx /var/www/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.