دستور Umask یوماسک تعیین دسترسی های پیش فرض

منتشر شده در دسته : خط فرمان لینوکس

دستور umask چیست و چه کاربردی دارد ؟ دستور umask دسترسی های پیش فرضی که هنگام ایجاد یک فایل به آن داده می شود را تعیین می کند .

دستور umask

این دستور از نشان گذاری octal برای نمایش یک ماسک از دسترسی هایی که بایستی از مشخصه های فایل حذف شود استفاده می کند ! چی شد . یک کم گیج کننده است . نگران نباشید در مثال که ببینید کاملا متوجه خواهید شد :

دستور Umask یوماسک تعیین دسترسی های پیش فرض

در اینجا ما ابتدا فایل netamooz.txt را با استفاده از دستور rm حذف کردیم تا مطمئن شویم دسترسی ها از اول داده می شود . حالا با استفاده از دستور umask ماسک پیش فرض را مشاهده می کنیم . چه عددی است ؟ 0002 معمولا این عدد به صورت پیش فرض برای umask داده می شود (در برخی موارد هم به صورت پیش فرض از 0022) استفاده خواهد شد .

حالا این یوماسک 0002 چه کار خواهد کرد ؟

هر فایل جدیدی که ما در سیستم ایجاد می کنیم را نمی توانیم به صورت دستی به آن دسترسی بدهیم ! کار طاقت فرسایی خواهد بود . در نتیجه سیستم عامل یک مقداری به صورت پیش فرض دارد که با استفاده از آن هر فایلی جدیدی که ایجاد می شود به آن دسترسی می دهد . ولی این جمله اشتباه هست که گفتم به فایل های جدید ایجاد شده دسترسی می دهد . بهتر است بگوییم از فایل های جدید ایجاد شده دسترسی می گیرد !!؟؟؟ بله درست است هر مقداری که در یوماسک (umask) موجود باشد , از دسترسی های موجود در فایل کم خواهد کرد .

به مثال برگردیم . برای ایجاد یک فایل جدید از دستور > netamooz.txt استفاده می کنیم . اکنون که فایل را ایجاد کرده ایم با استفاده از دستور ls -l netamooz.txt دسترسی های آن را مشاهده خواهیم کرد . به نظر شما چه دسترسی خواهد گرفت ؟ خیلی از افراد اشتباه می کنند و می گویند خوب یوماسک ما 0002 بود پس دسترسی هم 0002 خواهد بود !! اشتباه است . همین الان گفتیم هر مقداری که در یوماسک موجود باشد از دسترسی های فایل کم خواهد شد .

از کجا بدانیم چه دسترسی داشته که پس از اعمال یوماسک چه خواهد شد ؟ دسترسی پیش فرض فایل rw- rw- rw- — می باشد یعنی کاربر , گروه و همگان دسترسی خواندن و نوشتن را خواهند داشت . حالا اگر 0002 را به مقدار باینری تبدیل کنیم می شود 000 000 000 010 یعنی یوماسک دسترسی همگان را 010 از وضعیت خواندن و نوشتن به وضعیت فقط خواندنی محدود می کند .

یک راه دیگر برای مشاهده دسترسی اورجینال فایل این است که مقدار umask را صفر کنیم تا مطمئن شویم هنگام ایجاد فایل جدید یوماسک هیچ تاثیری روی دسترسی های اصلی فایل نخواهد گذاشت . به مثال زیر توجه کنید :

دستور Umask یوماسک تعیین دسترسی های پیش فرض

همانطور که می بینید با دستور rm netamooz.txt فایل قبلی را حذف کردیم . با دستور umask 0000 مقدار یوماسک را به صفر تبدیل کردیم تا مطمئن شویم که تاثیری بر دسترسی های اورجینال فایل نخواهد گذاشت . سپس با دستور > netamooz.txt دوباره فایل netamooz.txt را ایجاد کردیم و با دستور ls -l netamooz.txt دسترسی ها را مشاهده کردیم :
همانطور که می بینیم دسترسی های پیش فرض خواندن و نوشتن برای همه حالت ها می باشد rw-

بیشتر اوقات شما نیازی به تغییر مقدار پیش فرض یوماسک (umask) ندارید به این دلیل که مقدار تعریف شده توسط توزیع لینوکس شما کفایت می کند . هر چند در برخی وضعیت هایی که می خواهیم امنیت بالا ایجاد کنیم تغییر آن به مقداری سخت گیرانه تر خالی از لطف نیست .

لیست دروس

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *