প্রস্তাবিত ডিরেক্টরি অনুমতি কি কি?


145

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

বিশেষত default/files/(উপ ডিরেক্টরিগুলিও?) settings.php, .htaccessএবং অন্য যে কোনও কিছু সম্পর্কে আমার সচেতন হওয়া উচিত।


1
এখানে একটি উত্তরও রয়েছে: drupal.stackexchange.com/questions/52695/…
ফ্রি র‌্যাডিকাল

একটি ব্লগ আছে যা এটিকে সুন্দরভাবে ব্যাখ্যা করে এবং এর প্রতিটি দিককে বিমূর্ত পদ্ধতিতে coversেকে দেয়। Technologymythbuster.blogspot.com/2018/06/…
কল্পনা পোপট

উত্তর:


69

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

কীভাবে সেট আপ করবেন সে সম্পর্কে আরও তথ্যের পাশাপাশি কিছু জিনিস যা যদি আপনি না করেন তবে ড্রুপাল ডক্সে উপলভ্য ।


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

3
@ রুবি দ্বিতীয় বাক্যটি এটি স্পষ্ট করে।
কেনারব

14
যদিও এটি "যদি আপনার সাইটে ফাইল আপলোড করা জড়িত" বলে থাকে তবে কেবলমাত্র আপনারাই ফাইল ডিরেক্টরিতে লেখার অ্যাক্সেসের প্রয়োজন হতে পারে না। খুব সাধারণ উদাহরণ হল জেএস / সিএসএস সমষ্টি, যা সম্পর্কিত ফাইলগুলি আপলোড করে না। অন্যান্য মডিউলগুলিও সেই ডিরেক্টরিটি লেখার যোগ্য বলে আশা করতে পারে।
রোবি

91

অনেকের মতো সেই ড্রুপাল পৃষ্ঠাটি খুব দীর্ঘ এবং বিভ্রান্তিকর। তবে এটিতে জেসনের এই পোস্ট রয়েছে, যিনি মাথায় পেরেকটি মারলেন:

জেসন বিক্রয় পোস্ট করেছেন 1 নভেম্বর, ২০১০ রাত 12:40 এ

এটি এবং সমস্ত কিছু লেখার জন্য ধন্যবাদ, তবে আমি এবং 99% এই পৃষ্ঠাটি সত্যই যা মানুষ পড়তে চায় তা হ'ল ফোল্ডারের তালিকার পাশের সংখ্যার একটি তালিকা।

  • /default 755 এ
  • /default/files sub৪৪ (অথবা 755) এ সমস্ত সাবফোল্ডার এবং ফাইল সহ
  • /default/themes 755-তে সমস্ত সাবফোল্ডার এবং ফাইল সহ
  • /default/modules 755-তে সমস্ত সাবফোল্ডার এবং ফাইল সহ
  • /default/settings.phpএবং /default/default.settings.php444 এ

7
বিষয়টি দীর্ঘ এবং বিভ্রান্তিকর। পৃষ্ঠাটি পরিস্থিতির বাস্তবতার সাথে মানিয়ে যায়।
15

17
... ড্রুপাল ডক্সের! এবং এজন্য এটিকে অবিলম্বে সাধারণ এবং বোধগম্য কিছুতে পরিবর্তন করা দরকার! বিশেষত যখন এটি সুরক্ষার বিষয়টি আসে। এটা নিরাপত্তা সম্পর্কে ঠিক কারণ! কারণ এটি আমাদের সবার অন্তর্গত। সংক্রামিত সার্ভারটি কেবলমাত্র অনভিজ্ঞ ড্রুপাল ব্যবহারকারীরই সমস্যা। এটি তখন আমাদের সবার সমস্যা। সুতরাং জটিলতা এবং জটিলতা প্রদর্শন করার জন্য এবং কীভাবে নিজেরাই এটি পরিচালনা করতে পারে তার জন্য ডেভলপাররা নারকিস্ম দ্বারা অনুপ্রাণিত জটিল এবং খারাপভাবে লিখিত ডকগুলি রাখা খুব সহায়ক নয়। আমি একটি সাধারণ ফাইল অনুমতি গাছের গ্রাফিক ছেড়ে যাওয়ার বিন্দুটি দেখতে পাচ্ছি না। ওয়েবচিক তাতে একমত
নীলসুন

3
755 / অন / ডিফল্ট / ফাইল আছে কেন? সামনের প্রান্তটি হ্যাক করে (বা খারাপ কনফিগারেশনের মাধ্যমে) কেউ দূষিত কিছু আপলোড করার ক্ষেত্রে কেবল সর্বদা এটি 744 হওয়া উচিত নয়? 755 আছে কি কোনও কারণ আছে? টিএমপি / কি সম্পর্কে?
ওয়েবড্রিপস

1
সেটিংস.এফপি ফাইলটি 440 হওয়া উচিত "" অন্যদের "। 740 যদি আপনি এটি sudo কমান্ড ব্যতীত লিখতে সক্ষম হতে চান।
ব্রিডেন

শুধু কৌতূহল কেন ফাইল এবং টিএমপি ফোল্ডারে .htaccess ফাইলটি ওয়েব সার্ভারের দ্বারা লেখার প্রয়োজন? ঠিক সেটিং.এফপি হিসাবে এটি 444 চিহ্নিত করা নিরাপদ নয়। আমি জিজ্ঞাসা করার কারণটি হ'ল যদি জাঙ্কফাইল.এফপি ওয়েবকারকের মাধ্যমে হ্যাকার দ্বারা ফাইল ফোল্ডারে আপলোড করা যায় তবে .htaccess ফাইলটি প্রতিস্থাপন করা যেতে পারে। আমি কি সঠিক?
28 এ কিরণ

82

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

# Create a new example user, setting up /var/www/example as their home dir.
useradd -s /bin/bash -d /var/www/example -m example

# Now add that user to the Apache group. On Ubuntu/Debian this group is usually
# called www-data, on CentOS it's usually apache.
usermod -a -G www-data example

# Set up a password for this user.
passwd example

একবার আমি এটি সেট আপ হয়ে গেলে, আমি সেই ব্যবহারকারী হিসাবে লগ ইন করব এবং / var / www / উদাহরণ / ডক্রোট বা অনুরূপে ড্রুপাল ইনস্টল করব এবং তারপরে ফাইলগুলি ডিরেক্টরি হাতে তৈরি করব এবং সেটিংস.এফপিপি ফাইলটিতে অনুলিপি করব। যেহেতু আমরা দ্রুপাল অনুলিপি করার আগে আমাদের উদাহরণ ব্যবহারকারী হিসাবে লগ ইন করেছি, তাই আমাদের ফাইলের মালিকানা এবং অনুমতিগুলি সমস্ত মূল ড্রুপাল ফাইল এবং স্ক্রিপ্টগুলিতে (.htaccess ফাইল সহ) সঠিকভাবে কনফিগার করা উচিত।

su - example
cd docroot
cp sites/default/default.settings.php sites/default/settings.php

# Temporarily give the web server write permissions to settings.php
chgrp www-data sites/default/settings.php
chmod g+w sites/default/settings.php

এখন ফাইল ডিরেক্টরি সেট আপ করা যাক।

# Create the directory.
mkdir sites/default/files

# Now set the group to the Apache group. -R means recursive, and -v means 
# verbose mode.
chgrp -Rv www-data sites/default/files

এরপরে আমরা অনুমতিগুলি সেট আপ করব যাতে ওয়েব সার্ভার সর্বদা এই ডিরেক্টরিতে থাকা কোনও ফাইলে লিখতে পারে। আমরা আমাদের chmod কমান্ডে 2775 ব্যবহার করে এটি করি। ২ এর অর্থ এই ডিরেক্টরিতে তৈরি হওয়া যে কোনও নতুন ফাইলের জন্য গ্রুপ আইডি সংরক্ষণ করা হবে। এর অর্থ হ'ল ডাব্লু - ডেটা সর্বদা যে কোনও ফাইলের গোষ্ঠী থাকবে, যার ফলে ওয়েব সার্ভার এবং ব্যবহারকারী উভয়ই এই ডিরেক্টরিতে থাকা নতুন যে কোনও ফাইলের লিখনের অনুমতি পাবেন have প্রথম 7 এর অর্থ হল মালিক (উদাহরণস্বরূপ) ডাব্লু (পড়ুন) এবং এক্স (এক্সিকিউট) এখানে যে কোনও ফাইল করতে পারেন। দ্বিতীয় 7 এর অর্থ এই গ্রুপের (www-ডেটা) আর ডাব্লু এবং এক্স এই ডিরেক্টরিতে থাকা কোনও ফাইলও করতে পারে। অবশেষে, 5 টির অর্থ অন্য ব্যবহারকারীরা আর ও এক্স ফাইল করতে পারবেন তবে লিখতে পারবেন না।

 chmod 2775 sites/default/files

এই ডিরেক্টরিতে যদি কোনও বিদ্যমান ফাইল থাকে তবে তা নিশ্চিত হয়ে নিন যে ওয়েব সার্ভারের সেগুলিতে লেখার অনুমতি রয়েছে।

 chmod g+w -R sites/default/files

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

 chmod 444 sites/default/settings.php

এটাই! এই সেটআপটি আপনাকে এমন কোনও পরিস্থিতি এড়ানোর নিশ্চয়তা দেয় যেখানে ডিরেক্টরি ব্যবহারকারীর ব্যবহারকারী বা ওয়েব সার্ভার ফাইল ডিরেক্টরিতে ফাইল লিখতে / পরিবর্তন / অপসারণ করতে না পারে।


সেটিংস.এফপি হিসাবে 444 jsut থেকে .htacess সেট করা কি নিরাপদ নয়? যাইহোক, ফাইলটি খুব কমই ড্রুপাল কোরে আপডেট হয়।

আপনি .htaccess 444 এ সেট করতে পারেন তবে ড্রুপাল কোর আপগ্রেড করার সময় এটি অতিরিক্ত মাথা ব্যাথা যুক্ত করবে এবং আপনার সাইটটিকে আর সুরক্ষিত করবে না।
q0rban

30

ড্রুপাল ফাইল ফোল্ডারটি ওয়েব সার্ভারের দ্বারা লিখিত হতে হবে। এটি করার সবচেয়ে নিরাপদতম উপায় হ'ল গ্রুপটি পরিবর্তন করা এবং এটিকে গ্রুপ লিখনযোগ্য হিসাবে তৈরি করা:

chgrp www-data sites/default/files
chmod g+w sites/default/files

ফাইল আপলোড ফোল্ডারটি আলাদা করে রাখলে, সবথেকে নিরাপদ chmod 644 ডিরেক্টরিগুলির জন্য 755।

এটি এর মাধ্যমে সম্পন্ন হতে পারে (যখন দ্রুপাল-সাইট ফোল্ডারে চালিত হয়, এটি .বর্তমান পথের জন্য):

find . -type f | xargs chmod 644
find . -type d | xargs chmod 755

মনে রাখবেন যে chmod g+wউপরের কমান্ডটি চালানোর পরে আপনাকে আবার সেট করতে হবে, কারণ এগুলি সমস্ত ফাইল এবং ফোল্ডারে chmod পুনরায় সেট করবে।


2
এই উত্তরটি ধরে নিয়েছে: আপনি উবুন্টুতে আছেন। আপনার সার্ভারে একমাত্র চলমান সাইট। এটি স্বয়ংক্রিয়ভাবে ঘটার পরিবর্তে একবারে সমস্যার সমাধান করে (যেমন: উমাস্ক পরিবর্তন করে)।
15

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

একটি মাল্টিসাইটে আমি চালাচ্ছি chgrp -R www-data sites/*/filesএবং chmod -R g+w sites/*/filesস্থিতি পৃষ্ঠার ত্রুটিগুলি থেকে মুক্তি পেতে।
লেম্যানেক্স

20

"Chmod blah" বা "chown X" এর কোনও পরামর্শ অজান্তেই অর্থহীন: ডিফল্ট ব্যবহারকারী: ফাইলগুলিতে গ্রুপটি কী এবং আপনার ওয়েবসভারটি কোন ব্যবহারকারী এবং গোষ্ঠী হিসাবে কাজ করে।

অন্যদের সাথে যুক্ত হওয়া ড্রুপাল ডক্সটি বিষয়টিতে বেশ ভাল তবে অন্য একটি সংস্থান হ'ল সুরক্ষা পর্যালোচনা মডিউল যা আপনাকে সবকিছু ঠিকঠাকভাবে সেট করে দিয়েছে তা নিশ্চিত করতে সহায়তা করে।


9

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

  • সেটিংস.এফপি ফাইলটি অবশ্যই দ্রুপাল ইনস্টলার থেকে লিখিত হতে হবে, তবে ইনস্টলেশনটি শেষ হয়ে গেলে এটি কেবল পঠনযোগ্য করার পরামর্শ দেওয়া হয় (ইনস্টলারটি পরামর্শ দেয় যে, এবং দ্রুপাল পর্যায়ক্রমে ফাইলটি কেবল পঠনযোগ্য কিনা তা পরীক্ষা করবে)। আমি যে দৃশ্যের বর্ণনা দিচ্ছি তাতে এই ফাইলটির অনুমতি কমপক্ষে 4৪৪ হওয়া উচিত।
  • .Htaccess ফাইলগুলি (যা কমপক্ষে দুটি জায়গায় উপস্থিত রয়েছে) এর 644 অনুমতি থাকা উচিত the ফাইলটি তৈরি করা ব্যবহারকারীর এখনও ফাইলটি ওভাররাইট করতে সক্ষম হওয়া উচিত, ক্ষেত্রে দ্রুপালের পরবর্তী সংস্করণটি একটি .htaccess ফাইল নিয়ে আসে যা আপডেট করা হয়েছে (এটি ইতিমধ্যে একবার হয়েছিল, যখন এটি কোনও সুরক্ষা সমস্যা এড়াতে সেই ফাইলে একটি লাইন যুক্ত করা হয়েছিল)। অনুমতিগুলি 444 এ সেট করাও সম্ভব, তবে সেই ক্ষেত্রে ফাইলটি আপডেট করার প্রয়োজন হলে অনুমতিগুলি আবার 644 এ পরিবর্তন করা উচিত।
  • মডিউলগুলি ( default/filesডিরেক্টরি) দ্বারা নির্মিত ফাইলগুলি সমন্বিত ডিরেক্টরি হতে হবে (ওয়েব সার্ভার প্রসেসগুলিতে নির্ধারিত ব্যবহারকারীর জন্য, যা সেই ওয়েব সার্ভারে চলমান পিএইচপি স্ক্রিপ্টগুলিতে নির্ধারিত ব্যবহারকারী):
    • সুপাঠ্য
    • লিখনযোগ্য
    • traversable (মডিউলগুলি পৌঁছাতে সক্ষম হতে হবে default/files/<directory-used-by-the-module>/<sub-directory-used-by-the-module>)

থ্রুপটি drupal.org/node/244924 এ এবং বিশেষত drupal.org/node/244924#comment-8186447 এ পড়ার পরে ফাইলগুলি কীভাবে কেবল 660 আরডাব্লু-আরডব্লিউ ---- থাকতে পারে তা কীভাবে আপলোড করা যায় তা উপলব্ধ করা যায় না। মৃত্যুদণ্ড বিট ছাড়া। এটি কি মূল সুরক্ষা সমস্যা নয়?
7:57 এ কিরণ

8

প্রস্তাবিত ফাইল / ডিরেক্টরি অনুমতি:

  • ড্রুপাল ওয়েবরুটটি বিশ্ব পঠনযোগ্য হওয়া উচিত (দেখুন: আপডেটেটার.ইনক ): 0755
  • সর্বজনীন আপলোড ডিরেক্টরিগুলির জন্য: 0755 বা 0775
  • ব্যক্তিগত আপলোড ডিরেক্টরিগুলির জন্য: 0750 বা 0770
  • সর্বজনীন আপলোড করা ফাইলগুলির জন্য: 0644 বা 0664
  • ব্যক্তিগত আপলোড করা ফাইলগুলির জন্য: 0640 বা 0660
  • আপলোড ডিরেক্টরিগুলির মধ্যে .htaccess জন্য (দেখুন: file_create_htaccess () : 0444 (ডিফল্ট) বা 0644
  • সেটিংসের জন্য ph কেবলমাত্র সকলের জন্য পঠনযোগ্য (এবং অন্যান্য গোপনীয় ফাইল): 0440
  • অন্যান্য সমস্ত ওয়েব ডিরেক্টরিগুলির জন্য: 0755
  • অন্যান্য সমস্ত ওয়েব ফাইলের জন্য: 0644

প্রস্তাবিত ফাইল / ডিরেক্টরি মালিকানা:

  • সমস্ত আপলোড ডিরেক্টরি / ফাইলগুলির মালিক অ্যাপাচি ব্যবহারকারীকে সেট করা উচিত,
  • সমস্ত ওয়েব / উত্স ডিরেক্টরি / ফাইলগুলির মালিককে অপাচি ব্যবহারকারী হিসাবে সেট করা উচিত,
  • (allyচ্ছিকভাবে) সমস্ত উত্সের গোষ্ঠীটি অ্যাপাচি গ্রুপে সেট করা উচিত,

এখানে ভেরিয়েবলগুলি যা নতুন আইটেমগুলির জন্য ডিফল্ট ডিয়ার / ফাইল অনুমতিগুলি নিয়ন্ত্রণ করে:

file_chmod_directory: 0775
file_chmod_file: 0664

এখানে ফিক্সিং অনুমতির জন্য কিছু স্ক্রিপ্ট হল: fix-permissions.sh


আরও পড়ুন:


এখানে স্ক্রিপ্টটি আমি সরকারী / ব্যক্তিগত ডিরেক্টরিগুলির জন্য দূরবর্তী হোস্টে অনুমতিগুলি স্থির করতে ব্যবহার করছি:

#!/bin/sh -e
# Script to correct public/private directory and files permissions.
[ -z "$1" ] && { echo Usage: $0 @remote.dst; exit 1; }

DST="$1" && shift
GET_HTTP_GROUP='ps axo user,group,comm | egrep "(apache|httpd)" | grep -v ^root | uniq | cut -d\  -f 1'

drush $* $DST ssh 'PUB=$(drush dd %files) && PRIV=$(drush dd %private) && AGROUP=$('"$GET_HTTP_GROUP"') && chgrp -vR $AGROUP $PUB $PRIV && chmod -vR u+rwX,g+rwX,o+rX $PUB $PRIV'

দ্রষ্টব্য: উপরের কোডটি অ্যাপাচি গ্রুপটি পুনরুদ্ধার করার চেষ্টা করবে এবং এটিকে GET_HTTP_GROUPচলকতে সেট করবে ।


খুব সুন্দর ঠকানো শিট, বুকমার্কড। ভাল চাকরি ..

4

এই শেল স্ক্রিপ্টটি এই পৃষ্ঠার নীচে পাওয়া যায়: https://www.drupal.org/node/244924

আমার অনুমতিগুলি সঠিকভাবে সেট আপ হয়েছে তা নিশ্চিত করার জন্য আমি এটি মাঝে মাঝে চালাই।

#!/bin/bash
# Help menu
print_help() {
cat <<-HELP
This script is used to fix permissions of a Drupal installation
you need to provide the following arguments:
1) Path to your Drupal installation.
2) Username of the user that you want to give files/directories ownership.
3) HTTPD group name (defaults to www-data for Apache).
Usage: (sudo) bash ${0##*/} --drupal_path=PATH --drupal_user=USER --httpd_group=GROUP
Example: (sudo) bash ${0##*/} --drupal_path=/usr/local/apache2/htdocs --drupal_user=john --httpd_group=www-data
HELP
exit 0
}
if [ $(id -u) != 0 ]; then
  printf "**************************************\n"
  printf "* Error: You must run this with sudo. *\n"
  printf "**************************************\n"
  print_help
  exit 1
fi
drupal_path=${1%/}
drupal_user=${2}
httpd_group="${3:-www-data}"
# Parse Command Line Arguments
while [ $# -gt 0 ]; do
  case "$1" in
    --drupal_path=*)
      drupal_path="${1#*=}"
      ;;
    --drupal_user=*)
      drupal_user="${1#*=}"
      ;;
    --httpd_group=*)
      httpd_group="${1#*=}"
      ;;
    --help) print_help;;
    *)
      printf "***********************************************************\n"
      printf "* Error: Invalid argument, run --help for valid arguments. *\n"
      printf "***********************************************************\n"
      exit 1
  esac
  shift
done
if [ -z "${drupal_path}" ] || [ ! -d "${drupal_path}/sites" ] || [ ! -f "${drupal_path}/core/modules/system/system.module" ] && [ ! -f "${drupal_path}/modules/system/system.module" ]; then
  printf "*********************************************\n"
  printf "* Error: Please provide a valid Drupal path. *\n"
  printf "*********************************************\n"
  print_help
  exit 1
fi
if [ -z "${drupal_user}" ] || [[ $(id -un "${drupal_user}" 2> /dev/null) != "${drupal_user}" ]]; then
  printf "*************************************\n"
  printf "* Error: Please provide a valid user. *\n"
  printf "*************************************\n"
  print_help
  exit 1
fi
cd $drupal_path
printf "Changing ownership of all contents of "${drupal_path}":\n user => "${drupal_user}" \t group => "${httpd_group}"\n"
chown -R ${drupal_user}:${httpd_group} .
printf "Changing permissions of all directories inside "${drupal_path}" to "rwxr-x---"...\n"
find . -type d -exec chmod u=rwx,g=rx,o= '{}' \;
printf "Changing permissions of all files inside "${drupal_path}" to "rw-r-----"...\n"
find . -type f -exec chmod u=rw,g=r,o= '{}' \;
printf "Changing permissions of "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n"
cd sites
find . -type d -name files -exec chmod ug=rwx,o= '{}' \;
printf "Changing permissions of all files inside all "files" directories in "${drupal_path}/sites" to "rw-rw----"...\n"
printf "Changing permissions of all directories inside all "files" directories in "${drupal_path}/sites" to "rwxrwx---"...\n"
for x in ./*/files; do
    find ${x} -type d -exec chmod ug=rwx,o= '{}' \;
    find ${x} -type f -exec chmod ug=rw,o= '{}' \;
done
echo "Done setting proper permissions on files and directories"
Copy the code above to a file, name it "fix-permissions.sh" and run it as follows:
sudo bash fix-permissions.sh --drupal_path=your/drupal/path --drupal_user=your_user_name

Note: The server group name is assumed "www-data", if it differs use the --httpd_group=GROUP argument.

2

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


1

এটি আমার ওএসএক্স অনুমতি সংক্রান্ত সমস্যার সাথে আমাকে সহায়তা করেছে। আমি এটি https://www.drupal.org/node/244924#comment-3741738 এ প্রোটোপ্লাজম ব্যবহারকারীর দ্বারা পেয়েছি । হিজরত করার পরে আমি তার মতো সমস্যা নিয়ে এসেছি।

[root@localhost]cd /path_to_drupal_installation/sites
[root@localhost]find . -type d -name files -exec chmod ug=rwx,o= '{}' \;
[root@localhost]find . -name files -type d -exec find '{}' -type f \; | while read FILE; do chmod ug=rw,o= "$FILE"; done
[root@localhost]find . -name files -type d -exec find '{}' -type d \; | while read DIR; do chmod ug=rwx,o= "$DIR"; done

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