পিএইচপি ব্যবহারকারী www-ডেটার জন্য ডিফল্ট ফাইল অনুমতি


8

আমি আমার উবুন্টু মেশিনে একটি পিএইচপি ইনস্টল করেছি। ওয়েব রুট হয়/var/www

আমি এই ফোল্ডারের জন্য অনুমতিগুলি সেট করেছিলাম:

sudo chown -R ftpuser: www-data / var / www

ftpuser হ'ল আমি সেট করা ব্যবহারকারী তাই আমি নেটওয়ার্কের অন্য কোনও মেশিন থেকে / var / www এ এফটিপি করতে পারি। www-ডেটা ব্যবহারকারী পিএইচপি ব্যবহার করে। আমি whoamiপিএইচপি থেকে ডাবল চেক করেছি ।

আমি যখনই এফটিপিপি মেশিনে একটি নতুন ফাইল আপলোড করি তখন গ্রুপের ফাইলটির কোনও অনুমতি নেই। সুতরাং যখন আমি আমার ব্রাউজারে এটি অ্যাক্সেস করার চেষ্টা করি তখন আমাকে machine-name/new-file.phpবলা হয় অনুমতি বঞ্চিত এবং আমাকে যেতে হবে এবং chmodনতুন ফাইলটি।

আমি ভাবছি যে নতুন কোন ফাইলে অ্যাক্সেসের অনুমতি পাওয়ার জন্য ডাব্লু-ডেটা ব্যবহারকারী / গ্রুপকে ডিফল্ট করতে পারি এমন কোনও উপায় আছে যাতে প্রতি নতুন ফাইলটি আমাকে chmod রাখতে না হয়?

উত্তর:


6

আপনি এসিএল ব্যবহার করতে পারেন। উবুন্টু ১০.১০-এর জন্য এসিএল স্থাপন করতে, প্রথমে / etc / fstab-এ acl বিকল্পের সাহায্যে ফাইল সিস্টেমগুলি মাউন্ট করুন।

sudo vim /etc/fstab

ইউআইডিড = এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স / এক্সট 4 ডিফল্ট, এসিএল 0 1

sudo mount -o remount,acl /

তারপরে একটি গোষ্ঠী তৈরি করুন যাতে কোনও ব্যবহারকারী এই উদ্দেশ্যে থাকতে পারে।

sudo groupadd developers
sudo usermod -a -G developers $username

বিকাশকারীদের গোষ্ঠীর সদস্য হওয়ার জন্য ব্যবহারকারীর লগ আউট এবং আবার প্রয়োজন।

অবশ্যই, আপনি যদি চান / var / www ডিরেক্টরিতে সামগ্রী চান তবে এটি করবেন না, তবে কেবল এটি শুরু করার জন্য চিত্রিত করার জন্য:

sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root.developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

তারপরে একটি কনফিগার ফাইলে "/ var / www" এর সাথে "/ var / www / public" এর সাথে রেফারেন্সগুলি প্রতিস্থাপন করুন এবং পুনরায় লোড করুন।

sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload

যদি আমরা ফাইলটি তৈরি করা ব্যবহারকারী ব্যতীত সকলের থেকে মুছুন এবং নতুন নাম সীমাবদ্ধ রাখতে চাই:

sudo chmod +t /var/www/public

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

অ্যাপাচি-লিখনযোগ্য লগ ডিরেক্টরি:

sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs

অ্যাপাচি-পঠনযোগ্য লাইব্রেরি ডিরেক্টরি:

sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib

এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে, তবে আমি কী আগ্রহী তা যদি আপনি ব্যাখ্যা করতে পারেন যে আদেশগুলি chmod g+sএবং setfaclআদেশগুলি কী করেছে (এবং তাদের পরামিতি)।
গ্রেগ

4

আমি নিশ্চিত যে আপনি এটি ইতিমধ্যে বাছাই করেছেন, সুতরাং এটি অনুরূপ অনুরোধ সহ কারও পক্ষে

আপনার ওয়েবরুট ফোল্ডারে "মালিকানা পরিবর্তন করুন" কমান্ডটি চালান:

sudo chown manny -R www

এটি আপনাকে আপনার www ব্যবহারকারীর নাম দিয়ে "ম্যানি" প্রতিস্থাপন করবে, আপনাকে www ফোল্ডারের মধ্যে লিখতে / পড়তে সক্ষম করে


1

যদি আপনার ওয়েবসার্ভার ফাইলগুলিও পড়তে না পারে তবে সম্ভবত এটির অনুমতিগুলি like০০ এর new-file.phpমতো (মালিকের জন্য পড়ুন এবং লিখুন) are আপনার এফটিপি অ্যাপ্লিকেশনটিতে একটি উমাস্ক সেটিং অনুসন্ধান করুন এবং নিশ্চিত করুন যে এটি 007 এর মতো কিছু।

যদি আপনার ওয়েব অ্যাপ্লিকেশনটির জন্য ফাইলগুলি (বা অন্যান্য ক্রিয়াকলাপগুলি যা কেবল ফাইলের মালিক দ্বারা সম্পন্ন করা যায়) chmod করতে হয় তবে আপনার অন্য পদ্ধতির প্রয়োজন। আপনি যদি আপাচি ব্যবহার করছেন তবে আপনার আইটি এমপিএম ব্যবহার করার বিষয়টি বিবেচনা করা উচিত । সেই মডিউলটির সাহায্যে আপনি অ্যাপাচি "ftpuser" হিসাবে একই ব্যবহারকারীর সাহায্যে ফাইলগুলি চালনা / খুলতে পারবেন। এই বিষয় সম্পর্কে আপনার যদি আরও তথ্যের প্রয়োজন হয় তবে একটি মন্তব্য যুক্ত করুন।

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