ডিরেক্টরিতে সমস্ত ফাইল এবং ফোল্ডার অনুমতিগুলি 644/755 এ পরিবর্তন করুন


182

আমি কিভাবে ব্যবহার 755 থেকে 644 থেকে সব ফাইল এবং সকল ফোল্ডার পরিবর্তন হবে chmodথেকে linuxকম্যান্ড প্রম্প্ট? (টার্মিনাল)


6
যদি কেউ (@ অ্যানিমুসন) আমাকে ব্যাখ্যা করতে এত দয়াবান হন তবে কেন এই চিএমড প্রশ্নটি অফ-টপিক এবং অন্য সকল (14,438 ফলাফল) এখানে নয় ...
হুগো ডের হাঞ্জিজে

কিছুটা দেরি হলেও এই কমান্ডটি একটি শটে স্বীকৃত
উত্তরটিও করবে

ভাল প্রশ্ন, বন্ধ হওয়ার প্রাপ্য নয়। এগুলি বন্ধ হওয়ার চেয়ে স্ট্যাকওভারফ্লো সাব সাইটে সরিয়ে নেওয়া উচিত।
এরিক ফ্রিজেন

1
@ হুগোদারহুঞ্জ্রি এর অর্থ এটি কোনও সার্ভার সাইটে যেমন জিজ্ঞাসা করুন http://superuser.com: পি তবে এই প্রশ্নটি আমাকে এখানে সহায়তা করেছে, ধন্যবাদ।
ইমোলেটিলি

3
সংক্ষিপ্ত উত্তর:chmod -R u+rwX,go+rX,go-w /foo
কেনারব

উত্তর:


343

একটি পদ্ধতির ব্যবহার ব্যবহার করা যেতে পারে:

ডিরেক্টরি জন্য

find /desired_location -type d -print0 | xargs -0 chmod 0755

ফাইলের জন্য

find /desired_location -type f -print0 | xargs -0 chmod 0644

21
কেবল আমার মতো অন্য কারও জন্য, এটি sudo find /your/location -type f -exec chmod 644 {} \;ফাইল এবং sudo find /your/location -type d -exec chmod 755 {} \;ডিরেক্টরিগুলির পরিবর্তে চেষ্টা করে না
NineCattoRules

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

3
কেন (?) ভাল থম chmod -R a=r,u+w,a+X /foo?
পিটার ক্রাউস

ব্যর্থunable to execute /bin/chmod: Argument list too long
vladkras

কাঙ্ক্ষিত_স্থান নির্দিষ্ট করার সময় যদি আমি কেবল সাবফোল্ডারটি chmod 755 হতে চাই? কারণ এটি প্যারেন্ট ফোল্ডারটি 755
ম্যাক্সি 32

105

সবচেয়ে সহজ উপায়টি হ'ল:

chmod -R u+rwX,go+rX,go-w /path/to/dir

যার মূল অর্থ:

থেকে chAnge ফাইল modES -Rদিয়ে ecursively:

  • uসার্: rইড, wআচার এবং ই Xঅভিজাত অনুমতি,
  • gরাউপ এবং oথার ব্যবহারকারীরা: rইড এবং ই Xএকিউট পারমিশন, তবে -wঅনুষ্ঠানের অনুমতি নেই।

অনুগ্রহ করে নোট করুন যে Xএটি একটি ডিরেক্টরিকে এক্সিকিউটেবল করে তুলবে, তবে এটি কোনও ফাইল নয়, যদি না এটি ইতিমধ্যে অনুসন্ধানযোগ্য / সম্পাদনযোগ্য হয়।

+X - ডিরেক্টরি বা ফাইলটি অনুসন্ধানযোগ্য / নির্বাহযোগ্য করে নিন সবার দ্বারা যদি এটি ইতিমধ্যে কারও দ্বারা অনুসন্ধানযোগ্য / সম্পাদনযোগ্য হয়।

man chmodআরও বিশদ জন্য দয়া করে চেক করুন।

আরও দেখুন: ফাইলগুলি (পুনরাবৃত্তভাবে) বাদে সমস্ত ডিরেক্টরি কীভাবে chmod করবেন? এসইউ তে


7
chmod -R a = r, u + w, a + X / foo
জন অলসপ

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

4
@ এমজুথার না হলে এই সমস্যাটি আপনার পক্ষে আসলে বৈশিষ্ট্যযুক্ত নয়
রিয়াড

37

আমি যে সংক্ষিপ্ততমটির সাথে আসতে পারি তা হ'ল:

chmod -R a=r,u+w,a+X /foo

যা জিএনইউ / লিনাক্সে কাজ করে এবং আমি সাধারণভাবে পিক্সিতে বিশ্বাস করি (আমার পড়ার থেকে: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html )।

এটি যা করে তা হ'ল:

  1. ফাইল / ডিরেক্টরিটি r__r__r__ এ সেট করুন (0444)
  2. মালিকের জন্য ডব্লিউ যোগ করুন, rw_r__r__ (0644) পেতে
  3. ডিরেক্টরি (সকলের জন্য 0755 দিরের জন্য, 0644 ফাইলের জন্য) নির্বাহ করুন সেট করুন।

গুরুত্বপূর্ণভাবে, পদক্ষেপ 1 অনুমতি সমস্ত কার্যকর বিটগুলি সাফ করে, সুতরাং 3 ধাপ কেবল ডিরেক্টরিগুলির জন্য এক্সিকিউট বিটগুলি যুক্ত করে (কখনও ফাইল নয়)। তদতিরিক্ত, একটি ডিরেক্টরি পুনরাবৃত্তি করার আগে তিনটি ধাপ ঘটে (সুতরাং এটি উদাহরণস্বরূপ নয়)

chmod -R a=r /foo
chmod -R u+w /foo
chmod -R a+X /foo

যেহেতু a = r ডিরেক্টরি থেকে এক্স সরিয়ে দেয়, তাই chmod তাদের মধ্যে পুনরাবৃত্তি করতে পারে না))


উজ্জ্বল! আমাকে অনেক সাহায্য করেছে
জেনি থিউনসিসেন

12

দুটি অপারেশন হ'ল আমার পক্ষে মনে রাখা সবচেয়ে সহজ:

chmod -R 644 dirName
chmod -R +X dirName

+ এক্স কেবল ডিরেক্টরিগুলিকে প্রভাবিত করে।


1
সবচেয়ে সহজ এবং নিরাপদ
মার্কো মার্শালা

12

উপর https://help.directadmin.com/item.php?id=589 তারা লিখুন:

যদি আপনার পাবলিক_এইচটিএমএল ডেটা ডিরেক্টরিগুলির জন্য 755 এবং ফাইলগুলির জন্য 644 এ পুনরায় সেট করার প্রয়োজন হয় তবে আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন:

cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

আমি পরীক্ষা করেছি এবং ... এটি কাজ করে!


জীবন রক্ষাকারী! এই ইস্যুটির পরিষ্কার সমাধানের জন্য ধন্যবাদ! যখন ওয়ার্ডপ্রেস ইনস্টলের জন্য অনুমতিগুলির সমস্যাগুলি ঠিক করার প্রয়োজন হয় তখন আমার জন্য কাজ করে!
twknab

একটি ডিরেক্টরি মধ্যে সামঞ্জস্য করতে ভাল কাজ করে।
ক্রিশ্চিয়ান বেরেন্ট

8

এটি আমার পক্ষে কাজ করেছে:

find /A -type d -exec chmod 0755 {} \;
find /A -type f -exec chmod 0644 {} \;

3
সতর্কতা অবলম্বন করুন: এই আদেশগুলি তাদের নামে ফাঁকা ফাইলগুলি বা ডিরেক্টরিগুলি পরিচালনা করবে না। গৃহীত উত্তরের আদেশগুলি উইল করবে।
চাদ নুইস

1
এই ক্যাভিয়েটটি কেবল তখনই প্রযোজ্য, যদি surrounded quot কোট দ্বারা ঘেরা না হয় ... সুতরাং, মুদ্রণ0 এবং xargs -0 দিয়ে চারপাশে খেলার কোনও কারণ নেই, নিম্নোক্ত find /A -type X -exec chmod Y '{}' \;
বিষয়গুলি

6

উভয়ই একক পাসে করুন:

find -type f ... -o -type d ...

যেমনটি রয়েছে, f বা টাইপ ডি টাইপ করুন এবং ফাইলগুলির জন্য প্রথম এবং দ্বিতীয়টি ... ডায়ারের জন্য করুন। বিশেষ করে:

find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +

--changesআপনি যদি নিঃশব্দে কাজ করতে চান তবে এটি ছেড়ে দিন ।


2

যদি আপনার পাবলিক_এইচটিএমএল ডেটা ডিরেক্টরিগুলির জন্য 755 এবং ফাইলগুলির জন্য 644 এ পুনরায় সেট করার প্রয়োজন হয় তবে আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন:

cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

অতিরিক্ত হিসাবে, যদি আপনি জানেন যে পিএইচপি ব্যবহারকারী হিসাবে ব্যবহার করে এবং "অ্যাপাচি" হিসাবে চলে না, তবে আপনি সুরক্ষার অতিরিক্ত স্তরের জন্য পিএইচপি ফাইলগুলি 600 এ সেট করতে পারেন, যেমন:

find . -type f -name '*.php' -exec chmod 600 {} \;

আপনি এই রিসোর্সটি এখানে পেতে পারেন: https://help.directadmin.com/item.php?id=589


-9

এটিও কাজ করতে পারে:

chmod -R 755 *  // All files and folders to 755.

chmod -R 644 *.*  // All files will be 644.

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