আমি কর্মক্ষেত্রে একটি কোড পরিবর্তন দেখেছি, যেখানে মোডের মানগুলি 777 থেকে 0777 এ পরিবর্তিত হয়ে এনএফএস সেট্যাট্রিক কাজ করতে হয়েছিল। 2 টি মানের মধ্যে পার্থক্য কি?
mkdir()
। 0777 বনাম 777
আমি কর্মক্ষেত্রে একটি কোড পরিবর্তন দেখেছি, যেখানে মোডের মানগুলি 777 থেকে 0777 এ পরিবর্তিত হয়ে এনএফএস সেট্যাট্রিক কাজ করতে হয়েছিল। 2 টি মানের মধ্যে পার্থক্য কি?
mkdir()
। 0777 বনাম 777
উত্তর:
আপনি যদি তাদের chmod
(কমান্ড-লাইন প্রোগ্রাম) এ পাস করে থাকেন তবে কোনও পার্থক্য নেই। তবে একটি সি প্রোগ্রামে বা অনুরূপ, 0777
অষ্টাল হয় (তিনটি বিটের তিন সেট, যা আপনি চান), যখন 777
এটি দশমিক হয়, এবং এটি বেশ বিট প্যাটার্ন। ( chmod
যে কোনও সংখ্যার যুক্তিকে অষ্টাল হিসাবে ব্যাখ্যা করবে, সুতরাং কোনও শীর্ষস্থানীয় শূন্যের প্রয়োজন নেই))
0777 (অষ্টাল) == বাইনারি 0b 111 111 111
== অনুমতি rwxrwxrwx
(== দশমিক 511
)
777 (দশমিক) == বাইনারি 0b 1 100 001 001
== অনুমতি sr----x--x
(== অষ্টাল 1411
)
chmod
কমান্ডটি যে মানটি পাস করেন তা সর্বদা অষ্টাল হিসাবে ব্যাখ্যা করা হয়। ব্যবহার করা chmod 888
একটি ত্রুটি দেয়।
chmod
উপসর্গ নির্বিশেষে একটি সংখ্যার যুক্তিকে অষ্টাল হিসাবে ব্যাখ্যা করে। (তবে আসলে সংখ্যাটির কোনও কার্যকারিতা নেই; কেবল অঙ্কগুলি বা বিটগুলি।)
1777
, আপনি লিখতে হবে 01777
?
1777
লেখা 01777
হয় (অথবা আপনি লিখতে পারতেন 1023
, যা দশমিক দশমিক একই মানের। তবে করবেন না :-)
প্রথম বিটটি স্টিকি বিট http://en.wikedia.org/wiki/Sticky_bit এর জন্য ব্যবহৃত হয়
আপনি যদি 4 টি অঙ্ক ব্যবহার করে অনুমতি সেট করেন তবে প্রথমটি এই বিটটি সেট বা মুছে দেবে।
মজার উত্তরটি হ'ল:
0700
এবং এর মধ্যে কোনও পার্থক্য নেই700
00700
এবং 0700
(ডিরেক্টরি জন্য)অন্তত জিএনইউ কোর্টিলসের chmod সংস্করণের ক্ষেত্রে এটি লিনাক্সের ডিফল্ট।
এই উদাহরণটি দেখুন:
$ ls -ld mydir
drws--s--- 4 myuser mygroup 4096 Jul 8 09:27 mydir
$ chmod 0710 mydir ; ls -ld mydir # surprise ahead -- s-bits remain:
drws--s--- 4 myuser mygroup 4096 Jul 8 09:27 mydir
$ chmod 00710 mydir ; ls -ld mydir # _now_ they're gone:
drwx--x--- 4 myuser mygroup 4096 Jul 8 09:27 mydir
ডিরেক্টরিগুলির জন্য সেটুইড / সেটগিড বিটের দুর্ঘটনাজনিত মোছা এড়ানো এটাই। বিশদ জন্য, chmod ডকুমেন্টেশন দেখুন।
লিনাক্স সিস্টেমে দুই ধরণের অনুমতি পাওয়া যায়:
ফাইল অনুমতিতে আমরা ফাইল এবং ফোল্ডারগুলিতে অনুমতি সেট করি:
অনুমতিগুলি হ'ল:
বিশেষ অনুমতিতে থাকাকালীন তিন ধরণের অনুমতি হ'ল:
আপনার প্রশ্নে আপনি কী পার্থক্য জিজ্ঞাসা করেছেন, তাই এর মধ্যে কোনও পার্থক্য নেই chmod 777 and 0777
কারণ no any octal value
কোনটি (0) শূন্যের শো মান রয়েছে।