ধরে নেওয়া যায় যে একটি 'ওয়েব অ্যাপ্লিকেশন' কোনও সার্ভারে চলছে (যেমন অ্যাপাচি, এনগিনেক্স, ইত্যাদি) এবং কিছু গতিময় স্ক্রিপ্টিং ভাষায় (যেমন পিএইচপি, রুবি, ইত্যাদি) লিখিত আছে, আপনার 'ব্যবহারকারী' কে সম্পর্কে একটি ভুল ধারণা রয়েছে।
ব্যবহারকারী আপনার আবেদনে লগ ইন করা ব্যক্তি নয় - এটি এবং অ্যাপ্লিকেশনটিতে তাদের ভূমিকা (অ্যাডমিন ইত্যাদি) দৃশ্যের সাথে সম্পূর্ণ অপ্রাসঙ্গিক। ব্যবহারকারীটি লিনাক্স সিস্টেম ব্যবহারকারী যা প্রক্রিয়াটির অধীনে চলে। আপনার ওয়েবসাইটের কোডটি কেবলমাত্র একজন ব্যবহারকারী হিসাবে চালিত হয় - এটি আপনার ওয়েবসার্ভারের ব্যবহারকারী হতে পারে (যা সত্যই ভাল জিনিস নয়), অথবা এটি আপনার সাইটের নির্দিষ্ট কোনও ব্যবহারকারী হতে পারে (যা আরও ভাল)।
লিনাক্সে, ব্যবহারকারীরা গোষ্ঠীভুক্ত - আমরা কোনও ব্যবহারকারীকে অন্য গ্রুপে যুক্ত করতে পারি এবং সেই গোষ্ঠীতে বিশেষাধিকার সরবরাহ করতে পারি।
একটি ভাল সেটআপে আপনার সার্ভারটি একজন ব্যবহারকারীর মতো চলবে (আসুন এই ব্যবহারকারীকে 'ওয়েবসার্ভার' বলুন) এবং আপনার ডায়নামিক স্ক্রিপ্টিং ল্যাঙ্গুয়েজ রান (যেমন ফাস্টসিজিআইয়ের মাধ্যমে) এর নিজস্ব ব্যবহারকারী হিসাবে (প্রতিটি সাইটের একজন ব্যবহারকারী - আসুন আমাদের প্রথম ব্যবহারকারীকে 'সাইট 1' বলি) ।
আপনার ফাইলগুলি পরিবেশন করতে, ওয়েবসভারটির এগুলিতে অ্যাক্সেস প্রয়োজন এবং স্ক্রিপ্টিং ভাষাতে তাদের অ্যাক্সেস প্রয়োজন। এর অর্থ: 'সাইট 1' এবং 'ওয়েবসারভার' আপনার ফাইলগুলি পড়তে সক্ষম হওয়া প্রয়োজন। তাদের মধ্যে কেবল একটিই ফাইলগুলি 'মালিকানা' করতে পারে। মালিক হ'ল 'ব্যবহারকারী' (ব্যবহারকারী, গোষ্ঠী, অন্যান্য)। ডিরেক্টরিতে লিখতে সক্ষম হওয়ার জন্য আমাদের স্ক্রিপ্টিং ভাষাও প্রয়োজন (এবং এতে লেখা ফাইলগুলি পড়তে হবে)। ব্যবহারকারী 'সাইট 1' এর জন্য, পড়ার এবং লেখার অনুমতি প্রয়োজন needs যেহেতু আমরা চাইছি গোষ্ঠী এবং অন্যান্য অনুমতিগুলি যতটা সম্ভব সীমাবদ্ধ হোক, আমাদের 'মালিক' 'সাইট 1' হবে এবং সংশ্লিষ্ট ব্যবহারকারীর অনুমতিগুলি পড়তে এবং লিখতে হবে।
যেহেতু আমরা আমাদের ওয়েবসভারটির জন্য অন্য একটি 'ব্যবহারকারী' হিসাবে অনুমতিগুলি নির্দিষ্ট করতে পারি না, তাই আমরা 'সাইট 1' গ্রুপে 'ওয়েবসারভার' যুক্ত করব (আপনি অবশ্যই এটিতে 'সাইট 1' এবং 'ওয়েবসারভার' উভয়ই আলাদা গ্রুপ তৈরি করতে পারেন All সব এই গোষ্ঠীর সদস্যদের একই অনুমতি দেওয়া হবে any যে কোনও ব্যবহারকারীর অনুমতি নির্ধারণের জন্য সর্বাধিক শিথিল অনুমতি (ব্যবহারকারী, গোষ্ঠী, অন্যান্য সেট) প্রয়োগ করা হবে।
এটি লক্ষণীয় যে একটি ভাল সেটআপের জন্য গতিশীল ভাষার জন্য অনুমতিগুলি প্রয়োগ করার জন্য ফাইলগুলির প্রয়োজন হবে না। ফাইলগুলি সরাসরি চালানো হয় না, বরং অনুবাদক হিসাবে পড়ে - সাধারণত একটি স্ক্রিপ্ট চালানোর জন্য কেবল পঠনের অনুমতি প্রয়োজন (এটি যা কিছু লিখেনি)।
ডিরেক্টরিতে 'এক্সিকিউট' অনুমতিটির আলাদা অর্থ রয়েছে - এটি সামগ্রীগুলি পড়তে না পেরে ট্র্যাভারসালকে অনুমতি দেয়। ডিরেক্টরিতে কোনও ফাইল পড়তে সক্ষম হওয়ার জন্য, ব্যবহারকারীর অবশ্যই তার উপরে প্রতিটি ডিরেক্টরিতে 'চালনা' অনুমতি থাকতে হবে।
ওয়েব অ্যাপ্লিকেশনটির জন্য, প্রতিটি ফাইলের অবশ্যই তার মালিকের অনুমতি পড়তে হবে - অন্যথায় এটি মোটামুটি অর্থহীন ফাইল। কোনও ব্যবহারকারী বা প্রশাসক ফাইলগুলি আপলোড করুন (আপনার ওয়েব অ্যাপ্লিকেশনের মাধ্যমে) 'মালিক' (অর্থাত্ ডায়নামিক ভাষা) লেখার অনুমতি প্রয়োজন। একটি দক্ষ সেটআপ স্ট্যাটিক ফাইলগুলি সরাসরি ওয়েব সার্ভারের মাধ্যমে পরিবেশন করার চেষ্টা করবে, কারণ গতিশীল ভাষাগুলি বড় ফাইলগুলিতে পড়তে এবং বিষয়বস্তুগুলি প্রতিধ্বনি করতে ধীর হয়ে থাকে। ওয়েব সার্ভারের জন্য আপনার স্ট্যাটিক ফাইলগুলিতে পঠন অ্যাক্সেস প্রয়োজন।
সুতরাং, ন্যূনতম ফাইলের অনুমতিগুলি হ'ল:
- একটি ডিরেক্টরিতে থাকা একটি ফাইল যেখানে ব্যবহারকারী আপলোড করা স্ট্যাটিক ফাইলগুলি (চিত্রগুলি / swf / js ফাইলগুলি) থাকে: 640
- ডিরেক্টরিতে এমন একটি ফাইল যেখানে অ্যাডমিন আপলোড করা স্ট্যাটিক ফাইলগুলি (চিত্রগুলি / swf / js ফাইলগুলি) থাকবে: 640
- একটি ডিরেক্টরিতে একটি ফাইল যেখানে অ্যাপ্লিকেশনটিতে ব্যবহৃত গ্রন্থাগারগুলি থাকে: 400 (বা 440)
- একটি ডিরেক্টরিতে একটি ফাইল যেখানে এক্সিকিউটেবল / ব্রাউজেবল সার্ভারের সাইড স্ক্রিপ্টগুলি থাকবে: 400 (বা 440)
- একটি ডিরেক্টরিতে একটি ফাইল যেখানে ইতিমধ্যে বিদ্যমান ফাইলগুলি (txt বা xML) সার্ভারের পাশ দিয়ে কোড দ্বারা সম্পাদিত হবে: 640 বা 600
- (ওয়েব সার্ভার এগুলি প্রদর্শন করবে কিনা তা নির্ভর করে)
যদিও, সর্বনিম্ন ডিরেক্টরি অনুমতিগুলি হতে পারে:
- এমন একটি ডিরেক্টরি যেখানে ব্যবহারকারী আপলোড করা স্ট্যাটিক ফাইলগুলি (চিত্রগুলি / swf / js ফাইলগুলি) থাকবে: 750 50
- একটি ডিরেক্টরি যেখানে অ্যাডমিন স্ট্যাটিক ফাইলগুলি আপলোড করে (চিত্র / swf / js ফাইলগুলি) থাকবে: 750
- একটি ডিরেক্টরি যেখানে অ্যাপ্লিকেশনটিতে ব্যবহৃত গ্রন্থাগারগুলি থাকে: 500 (বা 550) [কমপক্ষে 510 হওয়া উচিত]
- একটি ডিরেক্টরি যেখানে এক্সিকিউটেবল / ব্রাউজেবল সার্ভারের সাইড স্ক্রিপ্টগুলি থাকবে: 500 (বা 550) [কমপক্ষে 510 হওয়া উচিত]
- একটি ডিরেক্টরি যেখানে ইতিমধ্যে বিদ্যমান ফাইলগুলি (txt বা xML) সার্ভারের পাশ দিয়ে কোড দ্বারা সম্পাদিত হবে: 750 বা 700
- (ওয়েব সার্ভার এখান থেকে ফাইলগুলি পরিবেশন করবে কিনা তা নির্ভর করে, কখনও কখনও অশোধিত)
আবারও - আপনার ওয়েব সার্ভারের যে কোনও ডিরেক্টরিতে অ্যাক্সেস প্রয়োজন তার উপরে প্রতিটি ডিরেক্টরিতে অবশ্যই 'চালানো' অনুমতি থাকতে হবে - সুতরাং এমনকি যদি ওয়েব সার্ভার কোনও প্রদত্ত ডিরেক্টরি থেকে ফাইলগুলি সরবরাহ না করে, তবে আমাদের এটিকে অনুমতি কার্যকর করার অনুমতি দেওয়া উচিত।
বেশিরভাগ ফাইলগুলিতে ওয়েব সার্ভারটি পড়ার অ্যাক্সেস দেওয়া মোটামুটি সাধারণ (তাই 500 থেকে 550 এর মধ্যে পরিবর্তন করুন)। ডিফল্ট 'কিছুটা সুরক্ষিত' অনুমতিগুলি সাধারণত ডিরেক্টরিগুলির জন্য 755 এবং ফাইলগুলির জন্য 4৪৪ থাকে - অনুমতি কার্যকর হয় না, প্রত্যেকেই পড়তে পারে এবং কেবল ব্যবহারকারী লিখতে পারে - আপনি লক্ষ করবেন যে একটি লিনাক্স সিস্টেমে ফাইলের বৃহত সংখ্যাগুলিতে এই অনুমতি রয়েছে।
মনে রাখবেন যে 'অন্যান্য' অনুমতিগুলি কোনও সিস্টেম ব্যবহারকারীকে বোঝায় যাঁর মালিক বা গ্রুপ নেই (যেমন সমস্ত সিস্টেম ব্যবহারকারী) remaining আপনার 'অন্যান্য' অনুমতিগুলি নিষিদ্ধ রাখা ভাল, কারণ এই ব্যবহারকারীরা অজানা - আপনি স্পষ্টভাবে তাদের অনুমতি দেননি। অন্যান্য অনুমতিগুলি কোনও আপোসযুক্ত সিস্টেমে সুবিধা গ্রহণ করা প্রায়শই সহজ (উদাহরণস্বরূপ / টিএমপি সাধারণ লক্ষ্য হিসাবে একটি কারণ)।
উপরের প্রসঙ্গে, আমি মনে করি না যে আপনার শেষ দুটি প্রশ্ন প্রাসঙ্গিক। আপনার ডিরেক্টরি অনুমতিগুলি 550 এ সেট করুন (এবং ফাইলটি 440-এ অনুমতি দিন) এবং তারপরে আপনার অ্যাপ্লিকেশন যে ডিরেক্টরিতে লিখিত হবে তার জন্য ব্যবহারকারীকে লেখার অনুমতি দিন (যেমন ডিরেক্টরি: 750; ফাইল: 640)।
(ফাইলগুলি আপলোড করার জন্য আপনাকে অবশ্যই লেখার অনুমতি প্রয়োজন হবে - তবে আপনি যদি চান তবে আপনি সেগুলি পরে মুছে ফেলতে পারবেন - তর্কাতীতভাবে, কেউ যদি কোনও ডিরেক্টরিতে লিখছেন যা কেবল মালিকই লিখতে পারেন - আপনার অ্যাকাউন্টে আপস করা হয়েছে - যা একটি সীমাবদ্ধ অনুমতি রাখার কারণগুলি)।