আমি কীভাবে / var / www এর সব সাবোল্ডার 777 chmod করতে পারি?


54

আমি একটি ওয়েবসারভার এবং এফটিপি সার্ভার চালাচ্ছি, যার /var/wwwসাথে আবদ্ধ /home/user/www

আমি উভয় ডিরেক্টরি সেট করেছি chmod 777(যা কেবলমাত্র পরীক্ষার জন্য এটি ভাল)।

আমি এতে ফাইলগুলি আপলোড করতে পারি /home/user/www, তবে যখনই আমি একটি নতুন ডিরেক্টরি তৈরি করি, আমাকে সর্বদা chmod 777folder ফোল্ডারে চালাতে হবে।

অন্যথায়, আমি যখন এটি ব্রাউজ করার চেষ্টা করি তখন আমি ত্রুটি বার্তাটি পাই

এই সার্ভারটিতে আপনার কাছে অ্যাক্সেস / পরীক্ষা / অ্যাক্সেসের অনুমতি নেই।

ভিতরে /var/wwwথাকা সমস্ত উপ-ফোল্ডারগুলি যে কারও দ্বারা অ্যাক্সেসযোগ্য হতে পারে এমন কোনও উপায় আছে ? অথবা তাদের অনুমতিগুলি স্বয়ংক্রিয়ভাবে সেট করা যেতে পারে 777? বিরক্তিকর যে আমি chmod 777প্রতিবার টাইপ করতে হবে ।


12
কেবল এটি এখানে রেখে চলেছেন দয়া করে ওয়েব সার্ভারে 777 ব্যবহার না করে বিবেচনা করুন । আরও উত্তম প্রশ্নটি হ'ল "777 অনুমতি ব্যবহার না করে আমি কীভাবে আমার ওয়েবসভারটি কাজ করতে পারি?"
মার্কো সেপ্পি

12
দুঃখিত, এটি খারাপ অনুশীলন এবং আমি এর উত্তর দিতে অস্বীকার করি :) আশা করি
ইভিওন

উত্তর:


89

এটি খারাপ অনুশীলন, তবে আশা করি আপনি এটি কেবল বিকাশের জন্য ব্যবহার করছেন, বা আপনার আরও একটি ভাল কারণ রয়েছে। -mবিকল্পটি ব্যবহার করে ডিরেক্টরি তৈরি করার সময় আপনি অনুমতিগুলি নির্দিষ্ট করতে পারেন :

mkdir -m 777 dirname

অথবা আপনি অনুমতিগুলি পুনরাবৃত্তভাবে সেট করতে পারেন।

sudo chmod -R 777 /var/www

এর মধ্যে দুটি ব্যবহার করার আগে, আপনি যদি নিজের ফাইল সিস্টেমটি এত অ্যাক্সেসযোগ্য হতে চান তবে সত্যই বিবেচনা করুন।


সম্পাদনা: রিনজউইন্ডের দ্বারা বর্ণিত হিসাবে আপনি যা চান তা সম্পাদন করার একটি ভাল উপায়।

কোন গোষ্ঠীটি আপনার /var/wwwডিরেক্টরিটির মালিক তা পরীক্ষা করুন এবং আপনার ব্যবহারকারীকে সেই গোষ্ঠীতে যুক্ত করুন।

sudo adduser yourusername group

গ্রুপ সম্ভবত www-data

তারপরে আপনি আপনার অনুমতিগুলি 775 এ সেট করে ঠিক করবেন।


4
এটি আপনি যা চেয়েছিলেন তা করে তবে দয়া করে এই প্রথমটি পড়ুন কেন / var / www এর chmod 777 থাকা উচিত নয় । এটি আসলে অনুশীলন করার প্রস্তাব দেওয়া হয় না।
ওয়ারেন হিল

8
অনুশীলন খারাপ পদ্ধতিতে দয়া করে লোকদের সাহায্য করবেন না। আপনি কীভাবে এটি করবেন তা ব্যাখ্যা করলে আমি পছন্দ করব: তার ব্যবহারকারীকে একটি গ্রুপ
www-

4
পড়াশুনা প্রথম আসে। লোককে তাদের মেশিনটি স্ক্রু আপ করতে সহায়তা করা লিনাক্স উপায় নয়। সুতরাং আমি আপনার সাথে দৃ strongly়ভাবে একমত।
রিঞ্জউইন্ড

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

1
@ dan08 আপনার হোম ডিরেক্টরি ব্যবহার করে পরীক্ষার আরও ভাল উপায় রয়েছে। দেখুন askubuntu.com/questions/46331/... এবং kimbriggs.com/computers/computer-notes/linux-notes/... । এই লক্ষ্যগুলি অর্জনের জন্য নিরাপদ উপায় রয়েছে;)
প্যান্থার

7

ইউনিক্সে ফাইল এবং ডিরেক্টরিগুলির মধ্যে তিন ধরণের অনুমতি থাকতে পারে: পড়ুন ( r), লিখুন ( w), এবং সম্পাদন করুন ( x)। প্রতিটি অনুমতি হতে পারে onবা offব্যবহারকারীদের তিন প্রত্যেকের জন্য: ফাইল অথবা ডাইরেক্টরি মালিক; মালিক হিসাবে একই গ্রুপের অন্যান্য ব্যক্তি; এবং অন্যান্য সমস্ত। কোনও ফাইলের মোড পরিবর্তন করতে, chmod কমান্ডটি ব্যবহার করুন। সাধারণ ফর্মটি chmod X @ Y ফাইল1 ফাইল 2 ...

chmod a-w file (removes all writing permissions)
chmod o+x file (sets execute permissions for other (public permissions))
chmod u=rx file        (Give the owner rx permissions, not w)
chmod go-rwx file      (Deny rwx permission for group, others)
chmod g+w file         (Give write permission to the group)
chmod a+x file1 file2  (Give execute permission to everybody)
chmod g+rx,o+x file    (OK to combine like this with a comma)

u = user that owns the file
g = group that owns the file
o = other (everyone else)
a = all (everybody)

r = read aces to the file
w = write access
x = execute (run) access 

4
cd /var/www
find -type d ! -perm 777 -exec chmod 777 {} \;

এফটিপিপি সমস্ত ফাইলকে বিভিন্ন অনুমতি দিয়ে তৈরি করার জন্য, আপনি এফটিপিডির উমাস্কের সন্ধান করতে চাইতে পারেন, সেই ডিমনটি কীভাবে শুরু হয়

এই সাইটে একবার দেখুন https://linuxaria.com/article/linux-shell- বোঝার-Umask-with- উদাহরণ


1
+1 এর একমাত্র উত্তর যা কেবলমাত্র ফোল্ডারগুলিকেই আপডেট করে এবং ফাইলগুলি নয়
janmyszkier

3

পাবলিক সার্ভিস ঘোষণা:


সমস্যার সমাধান করতে কখনও chmod 777 ব্যবহার করবেন না


  • আপনি যদি জনসাধারণের জন্য উপলভ্য কোনও পরিষেবাগুলি বিশেষত ওয়েব অ্যাপ্লিকেশনগুলি (যেমন পিএইচপি) চালনা করেন তবে এটি একটি প্রধান সুরক্ষা ঝুঁকি।

    ওএসের সুরক্ষা মডেল ধরে নিয়েছে যে অনেকগুলি পরিষেবা (যেমন আপনার ওয়েব সার্ভার) হ্রাস করা সুবিধাগুলি দিয়ে চালিত হয়, যাতে তারা ফাইলগুলি সংশোধন করতে সক্ষম হয় না। ফাইলগুলিতে 777 সেট করা এই নকশাকে ভঙ্গ করে।

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

  • নির্দিষ্ট সিস্টেম ডিরেক্টরিতে (/ usr, / etc, / var, এবং অন্যান্য) ব্যবহৃত হয়, এটি আপনার সিস্টেমকে অবাক করে দেয়।

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

  • এটিকে পূর্বাবস্থায় ফেরা এবং পুরানো সমস্ত অনুমতি ফিরে পাওয়ার কোনও উপায় নেই।

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

  • আপনি যেটি অর্জন করতে চান তা অর্জনের জন্য আরও একটি যথাযথ উপায় সর্বদা রয়েছে।

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

ওয়েব সার্ভার কেন সেই ডিরেক্টরিটি পড়তে পারে না তা সন্ধান করুন (ইঙ্গিত: এটি সম্ভবত কারণ আপনার হোম ডিরেক্টরিটি বিশ্ব-পঠনযোগ্য নয় World বিশ্ব-পঠনযোগ্যটি বিশ্ব লিখনযোগ্যের চেয়ে অনেক বেশি নিরাপদ - আপনার হোম ডিরেক্টরিটি 755 এর মতো কিছুতে সেট করুন, বা সেই www দির আপনার বাড়ির বাইরে / var / www বা / এসআরভি) এর মতো অন্য কোথাও চলে যান।



0

আপনি যদি সন্তুষ্ট হন এমন কোনও ফাইল থেকে অনুমতি এবং বা মালিকানা অনুলিপি করতে চান তবে আপনি sudo chmod --references = path / to / file / to / સંદર્ભ পাথ / to / file / আপনি / চান / ব্যবহার করে এটি করতে পারেন থেকে / পরিবর্তন / permissino / থেকে

এবং আপনি ফাইল মালিকানার জন্য একই জিনিস করতে পারেন।

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