Another great RocketTheme Joomla Template brought to you by the RocketTheme Joomla Template Club.

نظر سنجی

دوست دارید مقالات سایت بیشتر از کدام موضوعات باشد؟
 
IP شما = 38.103.63.60

لینک Rss مطالب

توجه :

"نقل تمام یا بخشی از مطالب سایت تنها با لینک به مطلب و معرفی نویسنده آن مجاز است"
دوستانی که از طریق موتورهای جستجوگر به دنبال مطلبی خاص وارد سایت شده اند و هم اکنون به دلیل پویایی سایت مطلبی در آن مورد مشاهد نمیکنند میتوانند به FORUM سایت مراجعه کنند.

 
UMask چیست؟
(2 :مجموع راي ها)
نگارش یافته توسط رضا بهروزی   

UMask مخفف User file creation mode mask می باشد.UMask در خانواده های یونیکس و لینوکس یک متغییر محیطی است که مجوز دسترسی فایل و دایرکتوری هایی که جدیدا ساخته می شوند را تعیین می کند و بعبارت دیگر بواسطه UMask می توانیم مجوز دسترسی فایل های جدید را شناسایی کنیم.

در هنگام استفاده از UMask با توجه به تعریف بالا ممکن است دچار اشتباه شویم , از آنجاییکه با UMask هر آنچه از مجوزها را که نمی خواهیم به کاربران و گروه ها اختصاص دهیم مشخص می کنیم ; در واقع شبیه ماسک عمل می کند.

UMask همچون مجوزهای دسترسی عددی octal یا هشت هشتی (در مبنای هشت) می باشد.

 

برای بدست آوردن میزان مجوزهای دسترسی که به فایل و دایرکتوری ها اختصاص پیدا می کند , می بایست مقدار UMask را از مقدار پیش فرض مجوزها ی فایل ها و دایرکتوری ها کم کنیم.این مقادیر بدین شرح می باشند :

 

مجوز برای
مقدار پیش فرض
فایل
666
دایرکتوری 777

 

محاسبات بدین شکل صورت می گیرد :

 

Formula : 6668 AND NOT ( UMask-value8 ) = Newly file permission
Formula : 7778 AND NOT ( UMask-value8 ) = Newly directory permission

 

همانطور که مشاهده می کنید , اعداد را در مبنای هشت از یکدیگر کم می کنیم.

 

مقدار پیش فرض UMask برای کلیه کاربران در فایل etc/profile/ مشخص شده است و برابر با 022 می باشد , پس :

 

مجوز دسترسی دایرکتوری های جدید = 0228 - 7778 = 7558 (rwxr-xr-x)
مجوز دسترسی فایل های جدید = 0228 - 6668 = 6448 (--rw-r--r)

 

به شکل زیر توجه کنید(1)

 


می توانید UMask پیش فرض را تغییر دهید , برای تغییر UMask کلیه کاربران فایل etc/profile/ را ویرایش کنید و برای تغییر UMask یک کاربر خاص , فایل profile. یا bash_profile. واقع در پوسه خانگی کاربر را ویرایش می کنیم.


مقدار جدید UMask بستگی به سیاست امنیتی شما دارد.برای امنیت بیشتر توصیه می شود که UMask کاربر ریشه برابر با 077 باشد تا مجوز خواندن , نوشتن و اجرا کردن فایل ها و دایرکتوری ها برای دیگر کاربران غیر فعال شود و در صورت نیاز به مجوز دسترسی خاص برای یک کاربر , می توانید با استفاده از دستور chmod این مجور را واگذار کنید.


همچنین می توانید UMask را بطور موقت با دستور umask تغییر دهید , فرضا برای ساختن تعداد زیادی فایل و دایرکتوری با مجوز خاص و متفاوت از مجوز پیش فرض.

umask value

 

به شکل زیر توجه کنید (2)


 

 

مثالی برای درک بهتر :

فرض کنید مقدار UMask را برابر با 174 قرار داده اید ; در این حالت مجوز دسترسی برای فایل ها و دایرکتوری جدید چه مقدار است ؟

جواب :

فایل های جدید دارای مجوز 602 و دایرکتوری های جدید مجوز 603 را به خود اختصاص می دهند.

 

محاسبه :

 

File : 6668 AND NOT (1748) = 6028
Directory : 7778 AND NOT (1748) = 6038
7778 = ( 111 111 111 )2
1748 = ( 001 111 100 )2
NOT ( 001 111 100 )2 = ( 110 000 011 )2
( 111 111 111 )2 AND ( 110 000 011 )2 = ( 110 000 011 )2

 

همانطور که مشاهده می کنید از AND منطقی برای محاسبه استفاده کردیم.

 

1 0 *
0 0 0
1 0 1

 

توضیح :

همانطور که قبلا اشاره شد , UMask مجوزهایی که اعمال نخواهد شد را نشان می دهد , پس از 174 چه چیزی دستگیرمان می شود؟

با توجه به جدول زیر مجوزهایی که اعمال نمی شوند را مشخص می کنیم :

 

O G U *
4 4 4 R
2 2 2 W
1 1 1 X
7 7 7 SUM

 

کاربر (مالک) : 1 : اجرا کردن(x)

گروه : 7 : خواندن(r), نوشتن (w) , اجرا کردن (x)

دیگران : 4 : نوشتن (w) , اجراکردن(x)



O G U *
4 4 4 R
2 2 2 W
1 1 1 X
4 7 1 SUM

 

(نجوه محاسبه UMask :
با توجه به این مثال به نحوه محاسبه UMsask پی بردیم , کافیست در جدول مجوزهایی که خواهان اعمال آنها نیستیم را مشخص و با هم جمع کنیم , همانند مثال بالا)

 

بالا مجوزهایی که اعمال نمی شوند را مشخص کردیم , حال مجوزهایی باقی مانده را با هم جمع و سطح دسترسی را حساب می کنیم

سطح دسترسی دایرکتوری :

 

O G U *
4 4 4 R
2 2 2 W
1 1 1 X
3 0 6 SUM
سطح دسترسی فایل :


O G U *
4 4 4 R
2 2 2 W
1 1 1 X
2 0 6 SUM

نکته :
برای محاسبه مجوز دسترسی فایل های جدید , همانطور که قبلا اشاره شد , مجوز پیش فرض 666 می باشد , پس در محاسبات مجوز مربوط به اجرا شدن (x) را حساب نمی کنیم.

منابع کمکی :

tech-faq.com
linuxsecurity.com
cyberciti.biz
wikipedia.org

 


:||:: ارسال به دوست

  نظرات (4)
1. umask
نوشته شده توسط محسن سعیدی website, روشن 01 دی 1386,ساعت 19:23:08
مجوز ۰۲۲ فقط برای کاربر روت بصورت پیش فرض می‌باشد نه برای همه کاربران. برای بقیه کاربران برابر ۰۰۲ می باشد. در ضمن در فایل profile یه همچین چیزی تعریف نمیشه بلکه توی فایل /etc/login.defs این مسئله رو میشه تعریف کرد. لطفا مواردی رو که ترجمه می‌کنید باز هم تاکید می‌کنم که تست کنید.
2. پاسخ :
نوشته شده توسط رضا بهروزی website, روشن 01 دی 1386,ساعت 20:51:40
سلام 
من هم به شما توصیه می کنم که فکر نکنید روش شما تنها راه دنیاست...این آموزش برای کابران لینوکس شیراز بصورت زنده آموزش و تست شده است ....در سایت این گروه قابل مشاهده است www.shirazlug.com 
من فراموزش کردم در آموزش به اشاره بر توزیع دبین بکنم که با توجه شما این نکته را اضافه خواهم کرد و چه بسا برای ردهت هم نکاتی را اضافه کنم....نظرات شما برای من همیشه سازنده بوده چرا که فراموش می کنم لینوکسی بجز دبین هم وجود دارد و امیدوارم نظرات من برای شما هم سبب خیری شود که نیم نگاهی هم به دیگر توزیع ها بیاندازید. 
در آخر از اینکه همیشه فرض بر بی سوادی من می گذارید کمال تشکر را دارم 
موفق باشید
3. نوشته شده توسط ميترا, روشن 02 دی 1386,ساعت 20:14:34
سلام 
خسته نباشيد. 
بي زحمت مي تونيد آموزش نصب و راه اندازي freeRadius در ردهت لينوكس رو بزاريد. 
ممنون مي شوم.
4. نوشته شده توسط حسين, روشن 09 شهریور 1387,ساعت 18:06:41
لطفا خيلي ابتدايي تر كد ها رو توضيح بدين طوري بگين كه من كه هيچي از لينوكس نمي دونم بفهمم اصلا داخل لينوكس چه جور برنامه هايي را مي نويسند.

نوشتن نظر
نام:
ايميل:
صفحه اصلي:
عنوان:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
نظر:



كد:* Code
من اين نظر را دوستانه جهت تماس ارسال ميكنم

 
< بعد   قبل >
PersianAdmins