
همانطور که در مقاله قبلی این بخش خواندیم هر کاربر لینوکس فقط می تواند به منابع و فایل های مختص خود دست پیدا کند. لینوکس مفهوم مالکیت و دسترسی را از UNIX به ارث می برد یعنی یک سیستم تحت شبکه و چند کاربری است و مسلما نیاز به امنیت و طبقه بندی اطلاعات در آن حس می شود. در ادامه این مطلب برخی مفاهیم پایه در مورد سمبل های دسترسی (rwx) و چگونگی دادن مجوز به کاربر برای خواندن، نوشتن یا اجرای یک فایل خاص را یاد می گیریم.
قبل از اینکه ادامه دهیم یک فایل جدید با نام "testfile" در دایرکتوری Home می سازیم.
برای دیدن سطح دسترسی این فایل از دستور زیر استفاده می کنیم:
خروجی این دستور اطلاعات زیادی به ما می دهد از چپ به راست این اطلاعات شامل:
- نوع فایل و دسترسی ها (
-rw-r--r--) - تعداد پیوندها از کاربران مختلف به این فایل (1)
- نام کاربر (root)
- نام گروه کاربری (root)
- حجم فایل به بایت
- آخرین باری که فایل ویرایش شده است (Jan 15 09:28)
- نام فایل (testfile)
خوب حالا معنی --rw-r--r- در قسمت اول خروجی چیست؟
فایل های موجود در لینوکس دارای سه نوع دسترسی خواندن (Read)، نوشتن (Write)، اجرا کردن (eXecute) و سه نوع مجوز کاربری برای مالک (owner)، گروه کاربری (user group) و همه کاربران (public) می باشند. از سمت چپ سه حرف اول برای مالک فایل سه حرف دوم برای گروه و سه حرف سوم برای همه کاربران می باشند. از آنجایی که testfile را توسط سوپر یوزر ساخته ایم، مالک آن root در گروه کاربری root می باشد. از سه حرف اول (-rw) می فهمیم که root می تواند عملیات خواندن و نوشتن را روی این فایل انجام دهد. سه حرف بعدی (-r-) به ما می گویند که کاربران گروه root فقط می توانند این فایل را بخوانند و قدرت نوشتن روی آن را ندارند و r آخر به ما می گوید که همه کاربران روی فایل سیستم می توانند این فایل را بخوانند.
نمودار زیر سمبل های دسترسی را تا حدودی توضیح می دهد:

تعویض سطح دسترسی در لینوکس:
برای تغییر سطح دسترسی به یک فایل از دستور chmod و جدول زیر استفاده می کنیم:

- 0 : بدون دسترسی
- 1 : فقط اجرا
- 2 : فقط نوشتن
- 3 : نوشتن و اجرا
- 4 : فقط خواندن
- 5 : خواندن و اجرا
- 6 : نوشتن و خواندن
- 7 : دسترسی کامل
دستور chmod به صورت زیر استفاده می شود همانطور که می بینید از اعداد دسیمال برای تغییر سطح دسترسی testfile استفاده کرده ایم. از چپ به راست اولین عدد برای مالک، دومین عدد برای گروه کاربری و سومی برای تمام کاربران می باشد.
با این دستور به مالک (root) دسترسی کامل (7) یعنی امکان خواندن، نوشتن و اجرا و به گروه کاربری (root) و بقیه کاربران هیچ دسترسی (0) نداده ایم.
حالا اگر دوباره از دستور ls -l testfile استفاده کنید با خروجی زیر مواجه می شوید (دسترسی ها عوض شده است).



