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


33

আমি জানি ফাইলের অনুমতিগুলি এখানে আগে কভার করা হয়েছে, তবে আমি আমার দৃশ্যের জন্য ধারণাটি পেতে আমার মাথা পেতে লড়াই করছি।

  • আমি পুরানো উবুন্টু ইনস্টলেশনতে ফাইলগুলি তৈরি করেছি।
  • Ive ফাইলগুলিকে আমার নতুন উবুন্টু ইনস্টলেশনতে অনুলিপি করে আমার ওয়েবরুটে রেখে দিয়েছে।
  • আমি যখন ফাইলগুলি চালানোর চেষ্টা করি (তারা পিএইচপি ফাইল হয়) তখন অনুমতি সংক্রান্ত কোনও ত্রুটি পাই

এটি ঠিক করার প্রয়াসে, আমি ধরে chown -Rনিয়েছি যে তারা অবশ্যই পূর্ববর্তী মালিকের মালিকানাধীন হবে, তাই ডিরেক্টরিতে থাকা সমস্ত ফাইলের মালিকানা নেওয়ার জন্য আমি একটি যুক্তি হিসাবে আমার ব্যবহারকারীর নামটি নিয়ে ডিরেক্টরিতে চলেছি। এটি লক্ষ করা উচিত যে নতুন এবং পুরাতন উবুন্টু ইনস্টলেশনগুলির মধ্যে ব্যবহারকারীর নামগুলি একই ছিল।

আমি যখন ফাইলগুলি আবার চালানোর চেষ্টা করি তখন একই সমস্যা: অনুমতিগুলির সমস্যার কারণে 500 ত্রুটি। আমাকে কী কী পদক্ষেপ নেওয়া উচিত তা কি কেউ বলতে পারেন?

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


আমি নিশ্চিত নই যে ফাইলটি থাকা অবস্থায় ফাইলের অনুমতিগুলি অনুলিপি করা হয়েছে, কেউ কি তা নিশ্চিত করতে পারেন? অন্যথায়, ফাইলগুলি অন্য কোনও ব্যবহারকারীর (বা মূল) দেওয়া এবং তারপরে পুনরায় দাবি করা সম্ভব হবে কি?
ট্যাগার

ঠিক আছে, আমি ফাইলগুলি কার্যকর করতে না পারার সমস্যাটি সমাধান করেছি, তবে আমি কেবল chmod -R 777 dirপ্রশ্নটির ডিরেক্টরিতে চালিয়ে এটি করেছি। আমি যদিও এটি করার আরও ভাল উপায় ভাবতে সাহায্য করতে পারি না
richzilla

3
একটি ফাইলে 77 777 টি অনুমতি দিয়ে প্রত্যেককে আপনার ফাইলগুলি লেখার মঞ্জুরি দেয় যা আপনার পৃষ্ঠাগুলির ক্ষতি করতে বা হ্যাক করতে পারে। আপনার 755 দিয়ে চেষ্টা করা উচিত যা সাধারণত পিএইচপি ফাইলগুলির জন্য ব্যবহৃত হয়। নিশ্চিত করুন যে কোনও ফাইলের জন্য "মৃত্যুদণ্ড কার্যকর করুন" সক্ষম করার দরকার নেই, সেক্ষেত্রে আপনি chmod [ফাইলের নাম] -x চালাতে পারেন। Chmod
Geppettvs D'Constanzo

অ্যাপাচি ত্রুটি লগটি কী দেখায়?
কিস কুক

উত্তর:


14

আপনার ওয়েবরুটের উপরের ডিরেক্টরিগুলিতে অ্যাপাচি ডিরেক্টরিতে প্রবেশের অনুমতি দেওয়ার জন্য এক্সিকিউট বিট সেট থাকা উচিত।

আপনি আপনার webroot এ অবস্থিত তাহলে /home/user/htdocs, /, /home, /home/userএবং /home/user/htdocsচালানো বিট সেট থাকা উচিত।


উপরের সমাধানটি "কাজ করে" তবে এটি আদর্শ নয়। যদি আপনি কোনও ফোল্ডার তৈরি করেন তবে আপাচি এটিতে লিখতে পারে না। বিপরীতটিও ঘটে।

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

বিকল্পভাবে, আপনি একটি বিকল্প অ্যাপাচি এমপিএম ইনস্টল করতে পারেন: অ্যাপাচি 2 এমপিএম আইটিকে ( কনফিগার করার তথ্য ) এবং কনফিগারেশনটি সামঞ্জস্য করুন যাতে অ্যাপাচি আপনার ব্যবহারকারীর অধীনে চলে।


এটি কীভাবে আরও প্রশমিত করা যায় তার জন্য সুস্পষ্ট নির্দেশনার জন্য নীচে
hobs

2
@ হবস আরও ভাল, জিজ্ঞাসাবাবু
আ /

44

যদি আপনার সার্ভার নথি /home/$USER/public_htmlডিরেক্টরিতে থাকে তবে আপনাকে চালনা করতে হবে

sudo chown -R www-data:www-data /home/$USER/public_html

ডকুমেন্টরুট ফোল্ডারের ব্যবহারকারী www-dataএবং গোষ্ঠীর মালিকানা দিতে www-data

তারপরে আপনি নিজেকে গ্রুপে যুক্ত করতে পারেন www-data

sudo adduser $USER www-data

অবশেষে, আপনাকে মালিক (www-ডেটা ব্যবহারকারী) এবং আপনার নিজের ( www-dataগ্রুপের অংশ হিসাবে) ডকুমেন্টরুট ফোল্ডারটি লিখিতযোগ্য করে তুলতে হবে :

sudo chmod -R 775 /home/$USER/public_html

সুবিধার্থে আপনি লিখিত public_html_fix.shসামগ্রীটি সামগ্রী সহ তৈরি করতে পারেন :

#!/bin/bash

sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html

এটি ভিতরে সংরক্ষণ করুন /home/$USER/binএবং এটি ব্যবহার করে কার্যকর করুন:

sudo chmod +x /home/$USER/bin/public_html_fix.sh

তারপরে আপনি যখনই প্রয়োজন হবে তখনই ফোন করুন, ফাইল সিস্টেমের যে কোনও জায়গা থেকে নিজেকে খুঁজে পাওয়ার মতো ঘটবে:

public_html_fix.sh

1
আমার জন্য কাজ করেছে ....
ইমানুয়েল ওকেকে

দুর্দান্ত উত্তর! - উদাহরণ এবং এমনকি একটি সুবিধামুক্ত স্ক্রিপ্ট এবং কীভাবে দুর্দান্ত ব্যবহার / ইনস্টল করবেন!
আন্দ্রে

2
যদি এটি একটি ভাগ করা হোস্টে করা হয়ে থাকে, তবে আপনি www-dataগ্রুপের অন্য ব্যবহারকারীদের কীভাবে আপনার ফাইলগুলি পড়া বা এই বিষয়ে লেখার বিষয়টি বন্ধ করবেন?
জোজকিয়াক্ক

সত্যিই দুর্দান্ত উত্তর ... আপনি আমার জীবন বাঁচিয়েছেন
নুলপোয়েস্টে

1
chmod -R 775 /home/$USER/public_htmlসত্যিই ভয়ানক। find /home/$USER/public_html -type d -exec chmod 775 {} \;এবং find /home/$USER/public_html -type f -exec chmod 664 {} \;অনেক ভাল
iharob

1

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

আপনার ফাইলগুলি দৃশ্যমান কিনা www-rootবা ব্যবহারকারী আপাচি ps -aux | grep apache2চালিয়ে যাচ্ছেন কিনা তা পরীক্ষা করতে ( পরীক্ষা করতে চালান ), নিম্নলিখিত কমান্ডটি চালান:

sudo su -l www-data -s /bin/bash

এবং আপনার নথির মূল থেকে কোনও ফাইল পড়ার চেষ্টা করুন।

ফাইলটি যদি পাঠযোগ্য না হয় তবে তা পরীক্ষা করে দেখুন:

1) আপনি অন্য সমস্ত ফাইলের অনুমতি সেট করেছেন

2) আপনি প্রয়োজনে FollowSymlinksআপনার .confফাইলগুলিতে ব্যবহার করেছেন

3) আপনি ডকুমেন্টরুট সেট আপ করেছেন

3) সমস্ত ব্যবহারকারীর জন্য আপনার পার্টিশন মাউন্ট করুন। আমার /etc/fstabইউটিউডের মাধ্যমে আমার পার্টিশনটি সম্পাদনা করতে এবং নির্দিষ্ট করতে হয়েছিল :

UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb      ext4    rw,nosuid,nodev,errors=remount-ro

তারপরে আপনার পার্টিশনটি নটিলাসের মাধ্যমে আনমাউন্ট করুন এবং একটি করুন sudo mount -a। যদি সবকিছু ঠিকঠাক হয় তবে আপনার ফাইলগুলি এখন এর অধীনে /mnt। আপনার সিমলিংকগুলি আপডেট করুন এবং আপনি যেতে ভাল।


1

ভার্চুয়ালমিন এটি যেভাবে করে তা হ'ল সর্বদা এটি সেট আপ করার সবচেয়ে ভাল উপায়।

ব্যবহারকারী এবং গ্রুপ "মাইহোম" তৈরি করুন

অ্যাপাচি ব্যবহারকারীকে "মাইহোম" গ্রুপের সদস্য করুন। এখানে কিছু ব্যাখ্যা বর্ণনার মতো অন্যভাবে নয়

সুতরাং এখন অ্যাপাচি / হোম / মাইহোম / www ছাড়াও / হোম / মাইহোমে অ্যাক্সেস পড়ে এবং চালিত করে

"মাইহোম" ব্যবহারকারীর লেখার অ্যাক্সেস রয়েছে


আমি এই ধারণাটি পছন্দ করি তবে এটি আমার পক্ষে কাজ করছে বলে মনে হয় না। ব্যবহারকারী www-dataগোষ্ঠীভুক্ত myhome। সমস্ত ফাইল এবং ডিরেক্টরিতে গ্রুপ লিখনের অনুমতি রয়েছে এবং এর সাথে সম্পর্কিত myhome:myhome। আমি আবার অ্যাপাচি শুরু করলাম। অ্যাপাচি এখনও নতুন ফাইল এবং ফোল্ডার লিখতে পারে না। (পিএইচপি স্ক্রিপ্ট
www-
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.