কেবল উপরের উত্তরগুলি সম্প্রসারণ এবং উন্নত করতে:
প্রথমে, আমি জিএনইউ করিউটিলস ৮.২6 এর জন্য এমকেডির ম্যান পৃষ্ঠাটি যাচাই করব - এটি আমাদের '-ম' এবং '-পি' বিকল্প সম্পর্কে তথ্য দেয় (যথাক্রমে --mode = MODE এবং --parents হিসাবেও দেওয়া যেতে পারে) ):
... সেট [গুলি] ফাইল মোড (chmod হিসাবে), a = rwx - umask নয়
... বিদ্যমান থাকলে কোনও ত্রুটি নেই, প্রয়োজন অনুযায়ী পিতামহুল ডিরেক্টরি তৈরি করুন
বিবৃতিগুলি আমার মতে অস্পষ্ট এবং অস্পষ্ট। তবে মূলত, এটি বলে যে আপনি "chmod সংখ্যার স্বরলিপি" (অষ্টাল) দ্বারা নির্দিষ্ট অনুমতি দিয়ে ডিরেক্টরিটি তৈরি করতে পারেন বা আপনি "অন্যভাবে" যেতে পারেন এবং একটি / আপনার উমাস্ক ব্যবহার করতে পারেন।
পার্শ্ব দ্রষ্টব্য: আমি বলি "অন্য উপায়" যেহেতু উমাস্কের মানটি ঠিক তেমনই মনে হয় - একটি মুখোশ , chmod এর সংখ্যাসূচক স্বরলিপি হিসাবে "মঞ্জুরি" দেওয়ার পরিবর্তে অনুমতিগুলি আড়াল / অপসারণ করে।
umask
আপনার 3-অঙ্কের উমাস্ক কী তা দেখতে আপনি শেল-বিল্টিন কমান্ডটি কার্যকর করতে পারেন; আমার জন্য, এটা 022
। এর অর্থ হ'ল আমি যখন mkdir yodirectory
কোনও প্রদত্ত ফোল্ডারে (বলি, মহোম) এবং stat
এটি সম্পাদন করি তখন আমি এর অনুরূপ কিছু আউটপুট পাব:
755 richard:richard /mahome/yodirectory
# permissions user:group what I just made (yodirectory),
# (owner,group,others--in that order) where I made it (i.e. in mahome)
#
এখন, এই অষ্টাল অনুমতি সম্পর্কে আরও একটি সামান্য বিট যোগ করতে। আপনি যখন কোনও ডিরেক্টরি তৈরি করেন, "আপনার সিস্টেম" আপনার ডিফল্ট ডিরেক্টরিটিকে '[যা নতুন ডিরেক্টরিগুলির জন্য প্রযোজ্য (এটির মান 77 777 হওয়া উচিত)] নেয় এবং ইও (ইউ) মাস্কে চড় মারে, কার্যকরভাবে per কিছু অনুমতিগুলি লুকিয়ে রাখে'। আমার উমাস্ক 022 - এখন যদি আমরা 777 থেকে 022 কে "বিয়োগ" করি (প্রযুক্তিগতভাবে বিয়োগ একটি অতিরিক্ত চাপ এবং সর্বদা সঠিক না হয় - আমরা আসলে পারম বন্ধ করে দিচ্ছি বা তাদের মুখোশ ফেলা করছি) ... আমরা বিবৃত হিসাবে 755 পাই (বা "বিধিবদ্ধ" ) আগে।
আমরা 3-অঙ্কের অষ্টালের সামনে '0' বাদ দিতে পারি (সুতরাং সেগুলি 4 সংখ্যার হতে হবে না) যেহেতু আমাদের ক্ষেত্রে আমরা কোনও স্টিকিবিট, সেটুইড বা সেটগিড চাইনি (বা বরং উল্লেখ করিনি) (আপনি তাদের দেখতে চান, বিটিডব্লিউ, আপনি 777 যাচ্ছেন সেগুলি তারা কার্যকর হতে পারে)। সুতরাং অন্য কথায়, 0777 বোঝায় (বা সমতুল্য) 777 (তবে 777 অবশ্যই 0777 এর সমতুল্য নয় - যেহেতু 777 কেবল অনুমতিগুলি নির্দিষ্ট করে, সেটুইডস, সেটগিড ইত্যাদি নয়)
এখন, আপনার প্রশ্নে এটি বিস্তৃত অর্থে প্রয়োগ করতে - আপনার কাছে কয়েকটি বিকল্প রয়েছে (ইতিমধ্যে)। উপরের সমস্ত উত্তরগুলি কাজ করে (কমপক্ষে আমার কোর্টিলগুলি অনুযায়ী)। আপনি একসাথে 7 with permission অনুমতি নিয়ে সাব ডিরেক্টরি (নেস্টেড ডিরেক্টরি) তৈরি করতে চাইলে আপনি উপরের সমাধানগুলিতে সমস্যাগুলি (বা সম্ভবত হওয়ার সম্ভাবনা খুব কম) করতে পারেন । বিশেষত, আমি যদি 022 এর উমাস্ক সহ মহোমে নিম্নলিখিতগুলি করি:
mkdir -m 777 -p yodirectory/yostuff/mastuffinyostuff
# OR (you can swap 777 for 0777 if you so desire, outcome will be the same)
install -d -m 777 -p yodirectory/yostuff/mastuffinyostuff
আমি 755
উভয়ের জন্য পার্সাম পাব yodirectory
এবং yostuff
কেবল 777
পার্মের জন্য mastuffinyostuff
। সুতরাং দেখা যাচ্ছে যে এটিই umask
কেবল থাপ্পর মেরেছে yodirectory
এবং yostuff
... এটির জন্য আমরা একটি সাবসেল ব্যবহার করতে পারি:
( umask 000 && mkdir -p yodirectory/yostuff/mastuffinyostuff )
এবং এটাই. ইয়স্টফ, মাস্টফিনিস্টোস্টফ এবং ইওডিরেক্টরির জন্য 777 পার্সস ms
mkdir temp; chmod 777 temp
এক লাইন আপনি 'টেম্প' কে একটি ভেরিয়েবল বানিয়ে বাশ কমান্ড হিসাবে এটি সংরক্ষণ করতে পারেন। এই আপনি কি করতে খুঁজছেন?