কীভাবে ডাব্লুডাব্লুডাব্লু ফোল্ডারের জন্য লিনাক্স অনুমতি সেটআপ করবেন?


69

আপডেট করা সংক্ষিপ্তসার

/ Var / www ডিরেক্টরি মালিকানাধীন root:rootযার অর্থ এটি যে কেউ এটি ব্যবহার করতে পারে না এবং এটি সম্পূর্ণ অকেজো। যেহেতু আমরা সকলেই এমন একটি ওয়েব সার্ভার চাই যা প্রকৃতপক্ষে কাজ করে (এবং "রুট" হিসাবে কেউ লগইন করা উচিত নয়), সুতরাং আমাদের এটি ঠিক করতে হবে।

মাত্র দুটি সত্তার অ্যাক্সেস প্রয়োজন।

  1. পিএইচপি / পার্ল / রুবি / পাইথন সকলকেই ফোল্ডার এবং ফাইলগুলিতে অ্যাক্সেস প্রয়োজন কারণ তারা তাদের মধ্যে অনেকগুলি তৈরি করে (যেমন /uploads/)। এই স্ক্রিপ্টিং ভাষাগুলি এনজিনেক্স বা অ্যাপাচি (বা পিএইচপি এর জন্য ফাস্টসিজিআইয়ের মতো আরও কিছু জিনিস) এর অধীনে চলতে হবে।

  2. ডেভেলপাররা

কীভাবে তারা অ্যাক্সেস পাবেন? আমি জানি যে এর আগে কেউ এই কাজটি করেছে। তবে এখানে কয়েক বিলিয়ন ওয়েবসাইট রয়েছে বলে আপনি ভাববেন যে এই বিষয়ে আরও তথ্য থাকবে।


আমি জানি যে 777 মালিক / গোষ্ঠী / অন্যান্যদের জন্য সম্পূর্ণ পঠন / লেখার / সম্পাদনের অনুমতি রয়েছে। সুতরাং এটি সঠিকভাবে প্রয়োজন বলে মনে হচ্ছে না কারণ এটি এলোমেলো ব্যবহারকারীদের সম্পূর্ণ অনুমতি দেয়।

কি অনুমতি ব্যবহার করা প্রয়োজন তা /var/wwwযাতে:

  1. গিট বা এসএনএন এর মতো উত্স নিয়ন্ত্রণ
  2. "ওয়েবসাইট" এর মতো গোষ্ঠীর ব্যবহারকারীরা ( বা "www-ডেটা" তে যুক্ত হয়েছেন )
  3. সার্ভারগুলি অ্যাপাচি বা লাইটথপিডি এর মতো
  4. এবং পিএইচপি / পার্ল / রুবি

সবাই কি সেখানে ফাইল (এবং ডিরেক্টরিগুলি) পড়তে, তৈরি করতে এবং চালাতে পারে?

আমি যদি সঠিক হয়ে থাকি তবে রুবি এবং পিএইচপি স্ক্রিপ্টগুলি সরাসরি "চালিত" হয় না - তবে একজন অনুবাদকের কাছে দেওয়া হয়। সুতরাং ফাইলগুলিতে অনুমতি সম্পাদনের দরকার নেই /var/www...? সুতরাং, দেখে মনে হচ্ছে সঠিক অনুমতিটি chmod -R 1660যা করবে would

  1. এই চারটি সত্তা দ্বারা ভাগযোগ্য সমস্ত ফাইল
  2. সমস্ত ফাইল ভুল করে নির্বাহযোগ্য নয়
  3. ডিরেক্টরি থেকে অন্য সবাইকে পুরোপুরি অবরুদ্ধ করুন
  4. ভবিষ্যতের সমস্ত ফাইলের জন্য অনুমতি মোডটি "স্টিকি" তে সেট করুন

এটা কি সঠিক?

আপডেট 1: আমি কেবল বুঝতে পেরেছি যে ফাইল এবং ডিরেক্টরিগুলির জন্য পৃথক অনুমতি প্রয়োজন হতে পারে - আমি উপরের ফাইলগুলি সম্পর্কে কথা বলছিলাম যাতে ডিরেক্টরি অনুমতিগুলির কী দরকার তা আমি নিশ্চিত নই।

আপডেট 2:/var/www উপরের চারটি সত্তার মধ্যে একটি হিসাবে সর্বদা পরিবর্তনগুলির ফোল্ডার কাঠামোটি সর্বদা ফোল্ডার এবং উপ ফোল্ডারগুলি অনেকগুলি স্তর জুড়ে থাকে (এবং কখনও কখনও অপসারণ করা হয়)। তারা 3 টি সত্তার কাছে পড়তে / লেখার অ্যাক্সেসের প্রয়োজন হতে পারে এমন ফাইলগুলি তৈরি এবং মুছে ফেলে। অতএব, অনুমতিগুলি ফাইল এবং ডিরেক্টরি উভয় জন্য উপরের চারটি জিনিস করা প্রয়োজন। যেহেতু তাদের কারওর জন্যই মৃত্যুদণ্ড কার্যকর করার অনুমতি নেওয়া উচিত নয় (উপরে রুবি / পিএইচপি সম্পর্কে প্রশ্ন দেখুন) আমি ধরে নেব যে rw-rw-r--এই চারটি সত্তা বিশ্বস্ত কর্মী দ্বারা পরিচালিত হওয়ায় অনুমতিটি যা প্রয়োজন তা এবং সম্পূর্ণ নিরাপদ হবে (দেখুন # 2) এবং অন্য সমস্ত ব্যবহারকারী সিস্টেমটিতে কেবল পঠনের অ্যাক্সেস রয়েছে।

আপডেট 3: এটি ব্যক্তিগত বিকাশ মেশিন এবং বেসরকারী সংস্থার সার্ভারগুলির জন্য। কোনও শেয়ার্ড হোস্টের মতো এলোমেলো "ওয়েব গ্রাহক" নেই।

আপডেট 4: স্লাইসহস্টের এই নিবন্ধটি আপনার www ফোল্ডারের জন্য অনুমতি সেটআপ করার জন্য প্রয়োজনীয় কি তা ব্যাখ্যা করার ক্ষেত্রে সবচেয়ে ভাল বলে মনে হচ্ছে। তবে, আমি নিশ্চিত নই যে পিএইচপি বা এসএনএন / গিট দিয়ে কোন ব্যবহারকারী বা গ্রুপ এপাচি / এনগিনেক্স কীভাবে তাদের চালাবেন এবং কীভাবে পরিবর্তন করবেন।

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

উত্তর:


47

আরও গবেষণার পরে মনে হচ্ছে এটির উত্তর দেওয়ার মতো (সম্ভবত আরও ভাল উপায়) এটি www ফোল্ডারটি সেটআপ করা হবে।

  1. sudo usermod -a -G developer user1 (প্রতিটি ব্যবহারকারীকে বিকাশকারী গোষ্ঠীতে যুক্ত করুন)
  2. sudo chgrp -R developer /var/www/site.com/ যাতে বিকাশকারীরা সেখানে কাজ করতে পারেন
  3. sudo chmod -R 2774 /var/www/site.com/ যাতে কেবল বিকাশকারীরা ফাইল তৈরি / সম্পাদনা করতে পারে (অন্যান্য / বিশ্ব পড়তে পারে)
  4. sudo chgrp -R www-data /var/www/site.com/uploads যাতে www-ডেটা (অ্যাপাচি / এনগিনেক্স) আপলোড তৈরি করতে পারে।

যেহেতু gitব্যবহারকারী যাকে বলছে তাই চলে, তাই যতক্ষণ না ব্যবহারকারী "বিকাশকারী" গোষ্ঠীতে থাকে ততক্ষণ ফোল্ডার তৈরি করতে, পিএইচপি ফাইল সম্পাদনা করতে এবং গিট সংগ্রহস্থল পরিচালনা করতে সক্ষম হওয়া উচিত।

দ্রষ্টব্য: পদক্ষেপে (3): '২' এর 2774 এর অর্থ ডিরেক্টরিতে 'গ্রুপ আইডি সেট করা'। এর ফলে এটির মধ্যে তৈরি নতুন ফাইল এবং উপ ডিরেক্টরিগুলি প্যারেন্ট ডিরেক্টরিগুলির গোষ্ঠী আইডি (ব্যবহারকারীর প্রাথমিক গোষ্ঠীর পরিবর্তে) উত্তরাধিকার সূত্রে উত্সাহিত করবে :


আমার কাছে যুক্তিসঙ্গত মনে হচ্ছে।
ওয়াজাক্স

ভাল. আমি যদি আরও কয়েকজনের সাথে এটি নিশ্চিত করতে পারি তবে আমি এই পদ্ধতিটি ব্যবহার করব। এটি আমি মনে করি লোকদের বাইরে বেরিয়ে আসতে সক্ষম হলাম সেরা উত্তর বলে মনে হচ্ছে।
জিওনক্রস

ফাইলগুলির মালিক কে হবেন তা আপনি নির্দিষ্ট করে দিচ্ছেন না। আপনি কি এটি মূল হিসাবে ছেড়ে দেবেন? তারপরে কেবল sudoers আপনার আপলোড ফোল্ডারটি সম্পাদনা করতে পারে (সম্ভবত আপনি যা ইচ্ছা করেছেন তা নয়)।
নিক

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

7
আরও একটি বিষয় দেখার জন্য হ'ল উমাস্ক। অনেক সিস্টেমে 022 এর একটি ডিফল্ট উমাস্ক থাকে যা নতুন ফাইলগুলিতে গ্রুপ এবং সর্বজনীন উভয়ের জন্য লেখার অনুমতিগুলি সরিয়ে দেয়। আমার সন্দেহ হয় আপনি 002 (জনসাধারণের জন্য লেখার জন্য নয়) বা 007 (জনসাধারণের জন্য অ্যাক্সেস না) চান want ডিরেক্টরিতে অ্যাক্সেস প্রয়োজন এমন যে কোনও প্রক্রিয়ার জন্য আপনি অ্যাপাচের কনফিগারেশন এবং / অথবা স্টার্টআপ স্ক্রিপ্টগুলিতে umask সেট করতে পারেন। এটিকে / ইত্যাদি / প্রোফাইলে বা / ইত্যাদি / বাশার্কে যুক্ত করতে ভুলবেন না যাতে এটি আপনার বিকাশকারীদের জন্যও ডিফল্টরূপে সেট করা থাকে
মার্ক পোর্টার ২

8

এটি "সঠিক" কিনা তা আমি নিশ্চিত নই, তবে আমার সার্ভারে আমি যা করি তা এখানে:

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

মনে রাখবেন যে ডিরেক্টরিগুলিতে আপনার এক্সিকিউট বিট সক্ষম হওয়া উচিত যাতে আপনি সামগ্রীগুলি তালিকাভুক্ত করতে পারেন।


গিট / এসএনএন বা পিএইচপি কীভাবে তখন নতুন ফোল্ডার তৈরি করে?
শিওনক্রস

2
পিএইচপি ওয়েব সার্ভারের মতো একই ব্যবহারকারী প্রসঙ্গে চলে, তাই এটি ওয়েবসভারের মালিকানাধীন যে কোনও ডিরেক্টরিতে ফাইল এবং ফোল্ডার তৈরি করতে পারে। এখানে সাধারণত কয়েকটি ফোল্ডার থাকে (/ আপলোডগুলি / উদাহরণস্বরূপ)। আমি গিট / এসএনএন সম্পর্কে নিশ্চিত নই - আপনি কি তাদের ওয়েবসাইটের নিয়ন্ত্রণ করে এমন একাউন্টে যুক্ত করতে পারবেন?
নিক

স্পষ্টতই গিট ব্যবহারকারী হিসাবে চালিত হয় - অন্য যে কোনও সরঞ্জামের মতো।
জিওনক্রস

তারপরে গিট ব্যবহারকারীকে অ্যাপাচি গ্রুপে যুক্ত করুন এবং ফোল্ডার গ্রুপকে লেখার অনুমতি দিন।
ডেভিড রিকম্যান

আমি কেবল বলেছি, গিটের কোনও ব্যবহারকারী নেই - এটি বর্তমান ব্যবহারকারীর হিসাবে এটি চালায়।
জিওনক্রস

7

আরো গবেষণা করছেন করার পর মনে হচ্ছে যে Git / SVN সরঞ্জামগুলি একটি সমস্যা যেহেতু তারা যাই হোক না কেন ব্যবহারকারী সেগুলিকে ব্যবহার করছে হিসাবে চালনা করা হয়। (তবে, গিট / এসএনএন ডেমনগুলি একটি পৃথক বিষয়!) আমি গিট দিয়ে তৈরি / ক্লোন করা প্রত্যেকটি জিনিসের আমার অনুমতি ছিল এবং গিট সরঞ্জামটি তালিকাভুক্ত ছিল /usr/binযা এই থিসিসের সাথে খাপ খায়।

গিট অনুমতিগুলির সমাধান হয়েছে।

ব্যবহারকারীর অনুমতিগুলি যে সকল ব্যবহারকারীকে www ডিরেক্টরিতে অ্যাক্সেস করে এমন www-dataগ্রুপে অ্যাবেচে (এবং এনজিনেক্স) চলমান রয়েছে তা যুক্ত করে সমাধানযোগ্য বলে মনে হচ্ছে ।

সুতরাং দেখে মনে হচ্ছে যে এই প্রশ্নের উত্তর একটির মতো চলে:

ডিফল্টরূপে /var/wwwমালিকানাধীন root:rootএবং সেখানে কেউ ফাইল যুক্ত বা পরিবর্তন করতে পারে না।

1) গোষ্ঠীর মালিক পরিবর্তন করুন

প্রথমে আমাদের www ডিরেক্টরি গ্রুপটি "রুট" গোষ্ঠীর পরিবর্তে "www-ডেটা" এর মালিকানাতে পরিবর্তন করতে হবে

sudo chgrp -R www-data /var/www

2) ব্যবহারকারীদের www-ডেটা যুক্ত করুন

তারপরে আমাদের বর্তমান ব্যবহারকারী (এবং অন্য যে কেউ) ডাব্লু-ডেটা গ্রুপে যুক্ত করতে হবে

sudo usermod -a -G www-data demousername

3) CHMOD www ডিরেক্টরি www

অনুমতিগুলি পরিবর্তন করুন যাতে কেবলমাত্র "www-ডেটা" গ্রুপের সমস্ত মালিক (রুট) এবং সমস্ত ব্যবহারকারী ফাইল এবং ডিরেক্টরি rwx করতে (পড়তে / লিখতে / চালাতে পারে) চালাতে পারে ( অন্য কেউ এটিকে অ্যাক্সেস করতে সক্ষম নাও হতে পারে )।

sudo chmod -R 2770 /var/www

এখন অ্যাক্সেস থাকা কোনও ব্যবহারকারীর দ্বারা তৈরি সমস্ত ফাইল এবং ডিরেক্টরিগুলি (যেমন "www-ডেটা" গ্রুপে) অ্যাপাচি দ্বারা পঠনযোগ্য / লিখনযোগ্য হবে এবং তাই পিএইচপি।

এটা কি সঠিক? পিএইচপি / রুবি যে ফাইলগুলি তৈরি করে সেগুলি সম্পর্কে কী - www-ডেটা ব্যবহারকারীরা সেগুলি অ্যাক্সেস করতে পারে?


6
আমি পিএইচপি দ্বারা সমস্ত ওয়েব ফাইল লিখনযোগ্য ধারণাটি পছন্দ করি না, যদি স্ক্রিপ্টের দুর্বলতা থাকে তবে এটি আপনার সম্ভাব্য এক্সপোজারকে বাড়িয়ে তোলে।
নিক

ঠিক আছে, আমি জানি যে আমি প্রচুর পাঠ্য, টার, লগ এবং ইমেজ ফাইল (প্লাস ফোল্ডার) তৈরি করতে পিএইচপি ব্যবহার করি তাই আমি কেবল ধরেই নিচ্ছিলাম যে সবকিছু লিখিত হতে হবে। তবে, সম্ভবত আপনার ডান এবং পিএইচপি কেবলমাত্র ফাইলটি পরিবর্তন করতে সক্ষম হবে যা নিরীহ হবে কারণ সমস্ত পিএইচপি অ্যাপ্লিকেশনগুলির 99% কখনই স্ক্রিপ্ট ফাইল তৈরি করে না makes অন্য পছন্দটি কেবলমাত্র নির্দিষ্ট ডিরেক্টরি পিএইচপি রাইটিং অ্যাক্সেসের (/ আপলোড /) মঞ্জুরি দেবে বলে মনে হয় কারণ পিএইচপি এখনও সেখানে খারাপ কিছু তৈরি করতে ব্যবহৃত হতে পারে। কোন ধারনা?
জিওনক্রস

2
স্ক্রিপ্ট এবং ডেটা আলাদা রাখার চেষ্টা করুন। এমনকি যদি কোনও আক্রমণকারী / আপলোডগুলি / তে কিছু ফেলে দেওয়ার ব্যবস্থা করে তবে তা কার্যকর করা উচিত নয়। স্তরগুলিতে সুরক্ষা চাবিকাঠি।
নিক

6

দৃick়তা অনুমতি উত্তরাধিকার নয়। কোনও ডিরেক্টরিতে অটল থাকার অর্থ হ'ল কোনও ফাইলের মালিক বা ডিরেক্টরি মালিক অন্য কোনও অনুমতি ছাড়াই ডিরেক্টরিতে এই ফাইলটির নাম পরিবর্তন বা মুছতে পারেন। এভাবে 1777 এ / টিএমপি /।

ক্লাসিকাল ইউনিক্সে কেবল ফাইল-সিস্টেমের ভিত্তিতে অনুমতি সংক্রান্ত উত্তরাধিকার নেই, কেবলমাত্র বর্তমান প্রক্রিয়া 'উমাস্ক' এর উপর। ডিরেক্টরিতে * বিএসডি, বা লিনাক্সে সেটগিড সহ, সদ্য নির্মিত ফাইলগুলির গ্রুপ ক্ষেত্রটি প্যারেন্ট ডিরেক্টরি হিসাবে সেট করা হবে। আরও কিছুর জন্য আপনাকে ডিরেক্টরিগুলির 'ডিফল্ট' এসিএল সহ এসিএলগুলি সন্ধান করতে হবে যা আপনাকে উত্তরাধিকার সূত্রে অনুমতি পেতে দেয়।

আপনার এই সংজ্ঞাটি দিয়ে শুরু করা উচিত: * ব্যবহারকারীদের সিস্টেমে কী অ্যাক্সেস রয়েছে * আপনার হুমকি মডেলটি কী

উদাহরণস্বরূপ, আপনি যদি একাধিক গ্রাহকের সাথে ওয়েব হোস্টিং করছেন এবং আপনি একে অপরকে ফাইল দেখতে চান না, তবে আপনি সেই সমস্ত ব্যবহারকারীর জন্য একটি সাধারণ গ্রুপ "ওয়েবকাস্ট" এবং 0705 এর ডিরেক্টরি মোড ব্যবহার করতে পারেন Then তারপরে ফাইলগুলি সরবরাহ করে ওয়েবসার্ভার প্রক্রিয়া ( না এ "webcusts") অন্য perms দেখতে পাবেন এবং অনুমতি দেওয়া হবে; গ্রাহকরা একে অপরের ফাইল দেখতে পাবে না এবং ব্যবহারকারীরা তাদের নিজস্ব ফাইলগুলিতে গণ্ডগোল করতে পারেন। যাইহোক, তার মানে এই মুহূর্তে আপনি অনুমতি সিজিআই বা পিএইচপি আপনি যে নেই আছে নিশ্চিত করুন যে প্রসেস (যাহাই হউক না কেন ভাল অভ্যাস, একাধিক ব্যবহারকারীদের অন এক হোস্ট জন্য, জবাবদিহিতা জন্য) নির্দিষ্ট ব্যবহারকারীর হিসাবে চালানো হবে। অন্যথায়, গ্রাহকরা সিজিআই করে একে অপরের ফাইলগুলিতে গণ্ডগোল করতে পারেন।

তবে, যদি কোনও ওয়েবসাইটের জন্য রান-টাইম ব্যবহারকারীর ওয়েবসাইটের মালিকের সমান হয়, তবে স্ক্রিপ্টের কোনও সুরক্ষা গর্তের ক্ষেত্রে আপনার অপব্যবহারকারীদের থেকে সামগ্রী রক্ষা করতে না পারার সমস্যা রয়েছে। উত্সর্গীকৃত হোস্টগুলি কোনটিই জিততে পারে, যাতে আপনার কোনও রান-টাইম ব্যবহারকারী স্থির সামগ্রীর মালিকের থেকে আলাদা হয়ে যায় এবং অন্যান্য ব্যবহারকারীর সাথে মিথস্ক্রিয়া সম্পর্কে এতটা চিন্তা করতে হবে না।


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

উত্তরের জন্য ধন্যবাদ, আমি আরও তথ্য দিয়ে প্রশ্ন আপডেট করেছি।
জিওনক্রস

জোনাথন: স্টিকি বিটটির অর্থ কেবলমাত্র ডিরেক্টরিটির মালিক, বা ফাইলের মালিক এটির নাম পরিবর্তন করতে বা মুছতে পারেন (যেমন, ডিরেক্টরিতে 'ফাইলটিতে এটি প্রবেশের পরে কাজ করুন)। পৃথক ফাইলে অনুমতি (এই ডিরেক্টরির অপারেশনের জন্য খেলার মধ্যে আসে না rename(), unlink()), শুধুমাত্র ফাইল নিজেই কর্মের জন্য ( open())। এটি "স্বাভাবিক" আচরণ।
ফিল পি

2

আমি বিশ্বাস করি যে এটি করার সর্বোত্তম উপায় হল পিক্সিক এসিএলগুলি ব্যবহার করা। তারা আপনার প্রয়োজন সমস্ত কার্যকারিতা সাথে কাজ করতে এবং অফার করার জন্য আরামদায়ক।

http://en.wikipedia.org/wiki/Access_control_list#Filesystem_ACLs


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

@ এক্সনক্রস: এসিএলগুলি কিছুতেই ঝাপিয়ে পড়ছে না। এগুলি হ'ল সাধারন ফাইল অনুমতিগুলির মতো মেন্টরফর্মেশন। এটি এতটা "অতিরিক্ত" এবং জটিল নয়, আমি বিশ্বাস করি যে কিছু বিভ্রান্তিকর স্টিকি / গ্রুপ / যাই হোক না কেন সমাধানের চেয়ে অনুমতিগুলি পরিচালনা করার সবচেয়ে সহজ এবং সর্বোত্তম উপায়। ভয় পাবেন না, কেবল এসিএল দিয়ে পুনরায় মাউন্ট করুন এবং এটি ব্যবহার করে দেখুন!
টাই-ফাইটার

1

ফাইলটির মালিক সেই ব্যক্তি হওয়া উচিত যা এটি তৈরি করে, তবে গ্রুপটি www-ডেটা হওয়া উচিত। ডিরেক্টরি / ফাইলগুলির মোডটি তখন সাধারণভাবে 755/644। ডিরেক্টরি এবং ফাইলগুলির জন্য গ্রুপটির লেখার অ্যাক্সেসের প্রয়োজন মোডটি 775/664। ধরে নিন ধান হ'ল বিকাশকারী। সামগ্রিকভাবে এটি করে:

chown -R paddy:www-data /var/www/websiteindevelopment
chmod -R 755 /var/www/websiteindevelopment
chmod -R 775 /var/www/websiteindevelopment/directorywritablebygroup
find /var/www/websiteindevelopment -type f -perm 755 -print -exec chmod 644 {} \;  
find /var/www/websiteindevelopment -type f -perm 775 -print -exec chmod 664 {} \;

0

@ জিওনক্রস এর উত্তরে যুক্ত করে, আমি মনে করি ফাইল এবং ডিরেক্টরিতে আলাদাভাবে অনুমতি কনফিগার করা ভাল হবে।

sudo find /var/www -type d -exec chmod 775 {} \;  # Change permissions of directories to rwxrwxr-x
sudo find /var/www -type f -exec chmod 664 {} \;  # Change file permissions to rw-rw-r--

এটি বিকাশকারীদের / var / www এর মধ্যে ডিরেক্টরি তৈরি এবং সংশোধন করার অনুমতি দেবে। যা গুরুত্বপূর্ণ বলে মনে হচ্ছে কারণ, বিকাশকারীদের অতিরিক্ত ডিরেক্টরি তৈরি করতে বা কোনও প্রয়োজন নেই এমন ডিরেক্টরি মুছে ফেলার প্রয়োজন হতে পারে।

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

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