আমি অনুমতিগুলি আরও ভাল করে বোঝার চেষ্টা করছি, তাই আমি কিছু "অনুশীলন" করছি। কমান্ডগুলির একটি ক্রম এখানে আমি তাদের নিজ নিজ আউটপুট ব্যবহার করছি:
$ umask
0022
$ touch file1
$ ls -l file1
-rw-r--r-- 1 user group 0 Mar 16 12:55 file1
$ mkdir dir1
$ ls -ld dir1
drwxr-xr-x 2 user group 4096 Mar 16 12:55 dir1
এটি উপলব্ধি করে কারণ আমরা জানি যে ডিফল্ট ফাইল অনুমতিগুলি 666
( rw-rw-rw-
) এবং ডিরেক্টরিগুলির ডিফল্ট অনুমতিগুলি 777
( rwxrwxrwx
)। যদি আমি আমার আছে এই ডিফল্ট অনুমতি থেকে umask মান বিয়োগ
666-022=644
, rw-r--r--
জন্য file1
, তাই পূর্ববর্তী আউটপুট এটা সুসঙ্গত;
777-022=755
, rwx-r-x-r-x
, জন্য dir1
, এছাড়াও সুসঙ্গত।
কিন্তু আমি যদি থেকে umask পরিবর্তন 022
করতে 021
এটা কোন নয়।
ফাইলটির উদাহরণ এখানে:
$ umask 0021
$ touch file2
$ ls -l file2
-rw-r--rw- user group 0 Mar 16 13:33 file2
-rw-r--rw-
হয় 646
তবে তা হওয়া উচিত 666-021=645
। সুতরাং এটি আগের গণনা অনুযায়ী কাজ করে না।
এখানে ডিরেক্টরি উদাহরণ জন্য:
$ touch dir2
$ ls -ld dir2
drwxr-xrw- 2 user group 4096 Mar 16 13:35 dir2
drwxr-xrw-
হয় 756
, 777-021=756
। সুতরাং এই ক্ষেত্রে ফলাফলটি পূর্ববর্তী গণনার সাথে সামঞ্জস্যপূর্ণ।
আমি লোকটি পড়েছি কিন্তু আমি এই আচরণ সম্পর্কে কিছুই পাই না।
কেউ ব্যাখ্যা করতে পারেন কেন?
ব্যাখ্যা
উত্তরে নির্দেশিত হিসাবে: umask
মানটির গাণিতিকভাবে ডিফল্ট ডিরেক্টরি এবং ফাইলের অনুমতিগুলি থেকে বিয়োগ হয় না ।
কার্যকরভাবে জড়িত অপারেশনটি হ'ল (এবং) এবং নোট (!) বুলিয়ান অপারেটরগুলির সংমিশ্রণ। প্রদত্ত:
আর = ফলে অনুমতির
D = ডিফল্ট অনুমতি
ইউ = বর্তমান umask
আর = ডি ও! ইউ
উদাহরণ স্বরূপ:
666 &! 0053 = 110 110 110 এবং ! 000 101 011 110 110 110 এবং 111 010 100 = 110 010 100 = 624 = rw - wr--
777 &! 0022 = 111 111 111 এবং ! 000 010 010 111 111 111 & 111 101 101 = 111 101 101 = 755 = rwxr - এক্সআর-এক্স
টিপ
ফলস্বরূপ অনুমতিগুলি (কমপক্ষে এটি আমাকে সহায়তা করেছিল) তাড়াতাড়ি জানার একটি সহজ উপায় হ'ল যে আমরা কেবলমাত্র 3 দশমিক মান ব্যবহার করতে পারি:
r = 100 = 4
w = 010 = 2
x = 001 = 1
অনুমতিগুলি এই 3 টি মানগুলির সংমিশ্রণ হবে।
" "
আপেক্ষিক অনুমতি দেওয়া হয়নি তা নির্দেশ করতে ব্যবহৃত হয়।
666 = 4+2+" " 4+2+" " 4+2+" " = rw rw rw
সুতরাং যদি আমার বর্তমান উমাস্ক হয় 0053
আমি জানি যে আমি (4+1)
গ্রুপ থেকে পঠন এবং সম্পাদনের অনুমতিটি অপসারণ করছি এবং (2+1)
ফলস্বরূপ অন্য ফলাফল থেকে লেখার এবং সম্পাদন করার চেষ্টা করছি
4+2 " "+2+" " 4+" "+" " = 624 = rw--w-r--
(গোষ্ঠী এবং অন্যান্যদের ইতিমধ্যে কার্যকর করার অনুমতি ছিল না)