`Chmod u = rw, go = r,…` এর পরিবর্তে `chmod 644` কেন ব্যবহার করবেন?


38

আমি এখন কয়েক বছর ধরে * নিক্সে কাজ করছি এবং আমি যে জিনিসগুলিতে কেবল অভ্যস্ত হতে পারি না তার একটি হ'ল কোডে অষ্টাল অনুমতি। লাইনের দৈর্ঘ্যের চেয়ে chmod 644 ...বেশি পছন্দ করার চেয়েও অন্য কোনও কারণ আছে কি chmod u=rw,go=r ...?

পিএস: আমি অষ্টাল অনুমতিগুলির ব্যাখ্যা খুঁজছি না। আমি জানি তারা কীভাবে কাজ করে এবং ম্যানুয়ালটিতে এটি ভালভাবে ব্যাখ্যা করা হয়েছে। আমি জিজ্ঞাসা করছি কেন অষ্টালকে আরও বেশি মানব-পঠনযোগ্য ফর্মের চেয়ে পছন্দ বলে মনে হচ্ছে।

উত্তর:


40

অষ্টাল কোডগুলি ব্যবহার করার দুটি সুবিধা রয়েছে যা আমি ভাবতে পারি, যার মধ্যে কোনওটিই বিশাল নয়:

  1. এগুলি সংক্ষিপ্ত, টাইপ করা সহজ।
  2. কয়েকটি জিনিস কেবল সেগুলি বোঝে এবং আপনি যদি নিয়মিত এগুলি ব্যবহার করেন তবে আপনি যখন কোনওটির মধ্যে চলে যাচ্ছেন তখন আপনি আপনার মাথাটি স্ক্র্যাচ করবেন না or যেমন chmodপার্ল বা সি এর জন্য আপনাকে অষ্টাল ব্যবহার করতে হবে

কখনও কখনও সত্যিকারের সরল ইউটিলিটিগুলি "বন্ধুত্বপূর্ণ" সংস্করণগুলি পরিচালনা করে না; বিশেষত নন-জিএনইউ ব্যবহারকারীভূমিতে।

এছাড়াও, কিছু ইউটিলিটি অষ্টাল আউট থুতু। উদাহরণস্বরূপ, আপনি যদি umaskআপনার বর্তমান উমাস্কটি দেখতে দৌড়ে যান তবে এটি একে আটকে দেবে (যদিও ব্যাশে, umask -Sপ্রতীকীভাবে)।

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


1
chmodপার্ল বা সিতে অষ্টাল প্রতিনিধিত্ব ব্যবহার করা দরকার তা বলার অপেক্ষা রাখে না যে উপস্থাপনাটি ইতিমধ্যে প্রথম স্থানে রয়েছে।
n0pe

@ ম্যাক্সম্যাকি: এগুলি ব্যবহার করা আপনার পক্ষে সুবিধা। আমি স্পষ্ট করতে হবে।
ডার্বোবার্ট

18

মনে করুন আমি অনেক দিন ধরে অষ্টাল ব্যবহার করছি।

7 হ'ল rwx (এটি দিয়ে কিছু করুন), 5 টি আরএক্স (এটি চালানোর জন্য এটি পড়তে হবে), 6 টি হ'ল (আপনার যে কোনও ডেটা ফাইলকে সংশোধন করতে হবে), 4 টি আর (আমরা আপনাকে এটি দেখতে দেব), এবং 0 হ'ল - (দুঃখিত, দেখার জন্য এখানে কিছুই নেই)। এবং আদেশ আমি, আমাদের, সবাই। এগুলি হল মৌলিক সংমিশ্রণগুলি।

755 আমি এটি পরিবর্তন করতে এবং চালাতে পারি, অন্য প্রত্যেকে এটি চালাতে পারে।

644 আমি এটি পরিবর্তন করতে পারি, অন্য প্রত্যেকে এটি পড়তে পারে।

444 কেবল সবার জন্যই পড়ুন, আমরা এখানে আছি।

500 আমি এটি সম্পাদন করতে পারি, এটি পরিবর্তন করতে চাই না, প্রত্যেকে প্রত্যেকে ছেড়ে দেয়।

আমার জন্য, এটি বিন্দু থেকে সংক্ষিপ্ত। 9 টি অক্ষর এবং একটি ফাইল নির্দিষ্ট এবং এগিয়ে যান।


আচ্ছা, অক্টাল (বেস -8), হেক্স নয় (বেস -16)।
ডারোবার্ট

হ্যাঁ, এটি এক, অর্ধেক হেক্স। <grin>
ফায়াসকো ল্যাবগুলি

এখানে একইভাবে, আমি পাঠ্য সংস্করণের চেয়ে
অষ্টালটি

13

আমি সত্যই কখনও অষ্টাল উপস্থাপনা উপভোগ করেছি না, আমি সবসময় সোজা rwxr-xr-xস্বরলিপি হিসাবে গিয়েছিলাম কারণ এটি আমার কাছে সহজ বলে মনে হয়। যাইহোক, আমি যা থেকে অষ্টাল প্রতিনিধিত্ব সংগ্রহ করি তা প্রকৃতপক্ষে আমাদের মনে রাখা সহজ করে তোলে (এটি কীভাবে কাজ করে তা আমি দেখতে পাই না)।

আমি কেবলমাত্র অন্য সম্ভাব্য সুবিধাটি দেখতে পাচ্ছি যে অষ্টালটি টেবিলে নিয়ে আসা হচ্ছে অস্পষ্টতার অভাব। 8 টি পৃথক অনুমতি বিট কনফিগারেশনগুলি একটি একক স্বতন্ত্র সংখ্যা দ্বারা প্রতিনিধিত্ব করা হয়, যা আমি নিশ্চিত যে কিছু লোককে দুর্ঘটনাক্রমে এমন একটি wজায়গায় রাখতে সহায়তা করে যেখানে তাদের উচিত ছিল না।

দুর্ভাগ্যক্রমে যদিও, আমি এই টেবিলটি মুখস্থ করেছি:

#  r  w  x
0  0  0  0
1  0  0  1
2  0  1  0
3  0  1  1
4  1  0  0
5  1  0  1
6  1  1  0
7  1  1  1

8
আমি এটি 3 টি প্রতিটি সেটের বাইনারি ব্যবহার হিসাবে শিখেছি তাই rw ------- হবে (110) (000) (000), যা (6) (0) (0)। rwxr-xr-x হবে (111) (101) (101), তাই (7) (5) (5)।
রব

4
প্রাথমিক কারণ অকট্যাল উপস্থাপনা বিদ্যমান কিভাবে মূল ইউনিক্স অনুমতি সিস্টেম প্রোগ্রাম হয়েছিল যে কারণ, সি 4 অকট্যাল সংখ্যা থেকে (বিশেষ বেশী জন্য 1777 মত, মনে রাখবেন হয় /tmp, চটচটে বিট সহ) PDPs 12 বিট, একটি সুবিধাজনক আকার নেয়, বিশেষত পিডিপি -8। যদি তারা হেক্সের সাথে চলে যেত, তবে হেক্স ডিজিটের প্রতি এক সেট সেটের প্রাকৃতিক ম্যাপিংয়ের জন্য একটি 16 বিট + শব্দ মেশিনের দরকার হত, যা সমস্ত পিডিপি নয়। এটি 3 টি বিট নষ্ট করে দেয় বা প্রয়োজন হত যে সেগুলি বিটগুলির জন্য একটি ব্যবহার উদ্ভাবন করবে, যার সম্ভবত সত্যিকারের কোনও সুবিধা ছাড়াই জটিল ইউনিক্স পারম থাকতে হবে।
ওয়ারেন ইয়ং

@ @ রব বিটিডব্লুতে যায়। প্রকৃতপক্ষে, বাইনারি উপস্থাপনা থেকে একটি আসল সংখ্যার গণনা করা একটি মৌলিক সংমিশ্রণকারী, এবং আপনার "অষ্টাল" থাকার কথাও মনে করার দরকার নেই কারণ সর্বাধিক সংখ্যা (অর্থাৎ 111 বি) 7 এর বেশি হবে না
হাই-অ্যাঞ্জেল

এই টেবিলটি এটি খুব স্পষ্ট করে তোলে। দারুণ!!!
ছোট রাইস

6

আমি মনে করি কারণটি আবার - ইতিহাস। প্রথমে অষ্টাল মানগুলিই ছিল একমাত্র। প্রতীকীগুলি পরে এসেছিল।

আমি প্রতীকী পছন্দ। বিশেষত যদি আপনি অন্য অংশগুলিকে স্পর্শ না করে বিদ্যমান মানগুলি পরিবর্তন করতে চান।

ভালো লেগেছে chmod -R u=rwx,g-w+X,o=-কি যে অকট্যাল ...


3

মনে রাখবেন যে অষ্টাল মোডগুলি কয়েকটি সিস্টেমে সেটুইড এবং সেটগিড বিটগুলি সরিয়ে ফেলতে পারে।

ফেডোরা 16:

$ mkdir dir
$ chmod 2775 dir
$ stat -c %a dir
2775
$ chmod 770 dir
$ stat -c %a dir
2770

( 2সংরক্ষণ করা হয়)

ফ্রিবিএসডি 9:

$ mkdir dir
$ chmod 2775 dir
$ stat -f %Mp%Lp dir
2775
$ chmod 770 dir
$ stat -f %Mp%Lp dir
0770

(একটি 2হয়ে ওঠে 0)

আপনি যদি কোনও ফাইল বা ডিরেক্টরিগুলির অনুমতি পরিবর্তন করতে চান তবে আপনার যে বিটগুলি পরিবর্তন করতে চান তা নির্দিষ্ট করে দেওয়া (উদাহরণস্বরূপ chmod o= dirবা chmod o-rwx dirউপরের উদাহরণে) আরও ভাল।


2

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

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

কেউ কেন xবিট সেট করবে ? কারণ আপনি মোডের জন্য স্মৃতিচিকিত্সা ফর্মটি ব্যবহার না করেই না করা শক্ত। বিবেচনা করুন যে আপনি অনুমতিগুলি পুনরায় সেট করতে চান /var/wwwএবং আপনি কোনও পুরানো শৈলীর সিজিআই চালনা করেন না, তাই xবিটটি সরানো উচিত। যাইহোক, xবিট ডিরেক্টরিতে অন্য উদ্দেশ্য পরিবেশন করে। সুতরাং আপনি কিছু (যেমন root) করার মতো শেষ করেছেন:

chmod -R 666 /var/www
find /var/www -type d -exec chmod 777 {} \;

তবে, আপনি যদি স্মৃতিচারণমূলক ফর্মটি ব্যবহার করে থাকেন তবে আপনি এটিকে একটি "রেসিপি" দিতে পারেন:

chmod -R a=rwX /var/www

যা সংক্ষিপ্ত রূপ chmod -R ugo=rwX /var/www(একই অর্জন, তবে বিভিন্ন পথ chmod -R a-x,a+rwX /var/www:)।

তবে আরও একটি বিষয় রয়েছে যা আরও তুচ্ছ যা অষ্টাল মোডগুলি দিয়ে অর্জন করা যায় না। আপনি পরিবর্তিত হতে পারে না userবা groupবা otherঅকট্যাল ফর্ম সঙ্গে পৃথকভাবে মাস্ক।

সংক্ষেপে: এটি একটি স্কাল্পেল (স্মৃতিবিহীন) এবং একটি ধারালো রান্নাঘরের ছুরি (অক্টাল) তুলনা করার মতো ... তবে অন্যান্য কারণে আপনি এখনও অষ্টাল মোড বিটগুলি জানতে হবে :)

যে কারণে অষ্টাল মোডগুলি এখনও বেশি পছন্দ করা হয় , আমি মনে করি, স্মৃতিচর্চায় জড়িত বেশি টাইপিং নয়, তবে অতিরিক্ত রক্ষণশীল প্রশাসকরা। এবং হ্যাঁ, ২০১৩ কলিং, সেগুলি অত্যধিক রক্ষণশীল প্রশাসকগুলি এখনও বিদ্যমান এবং কিছু সময়ের জন্য এখানে রয়েছে।


0

আপনাকে যখন সমস্ত সময় ফাইলের অনুমতিগুলি পরিবর্তন করতে হয় , আপনি 3 টি অক্ষরের প্রশংসা করেন। অনুমতিগুলি পরিবর্তন করতে আমি প্রচুর সময় +বা -সংস্করণ ব্যবহার করি ।

উদাহরণস্বরূপ, আমি আমার অ্যাপাচি ফোল্ডারে একটি নতুন পিএইচপি, পাইথন বা অন্যান্য স্ক্রিপ্ট তৈরি করি। chmod a+xআমি যা করি তাই এটি চালানো যায়। আমি এটি "অল প্লাস এক্সিকিউট" হিসাবে পড়েছি। এখন আমি জানি এটি কাজ করতে চলেছে, এবং আমার কেবল তিনটি অক্ষর প্রয়োজন।

অন্যান্য সময় আমি স্বয়ংক্রিয়ভাবে 644 এবং 755 ব্যবহার করি। আমি কেবল এটিকে 644একটি ফাইল হিসাবে বোঝায়, 755একটি স্ক্রিপ্ট মানে।


0

এটি উমাস্কের সেটিংসের সাথে খুব সুন্দরভাবে খাপ খায়, যা সাধারণত অষ্টাল রচনায় ( pamবা হয় fstab) দেওয়া হয়।


0

আমি প্রস্তাব দিচ্ছি যে একটি গুরুত্বপূর্ণ কারণ হ'ল অষ্টাল প্রতিনিধিত্ব আপনি যা দেখেন তার সাথে খুব বেশি মিল রয়েছে ls -l(বা পরিবর্তে, যখন আপনি মানসিকভাবে অষ্টাল এবং বাইনারি মধ্যে রূপান্তর করেন) এটি ঘটে।

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