Menu
مجوزهای دسترسی یا Permissions در سیستم عامل لینوکس

مجوزهای دسترسی یا Permissions در سیستم عامل لینوکس

تاریخ نگارش: 1395/12/1 - 1010 بازدید
یکی از ویژگی های امنیتی یا ساختار اولیه امنیت در سیستم عامل لینوکس برپایه ی سطح دسترسی (Permissions) یا مالکیت تعریف شده است . لینوکس یک سیستم عامل چند کاربره (Multi User) است که مجوز و اجازه ی دسترسی، یک راه محافظت از سیستم در برابر خرابکاری ها و دسترسی های غیر مجاز است.
فایل ها و دایرکتوری ها در لینوکس "متعلق به" شخصی است که آنها را ایجاد کرده و دارای یک سری سطوح دسترسی است که بیانگر کارهایی است که کاربر مورد نظر ما می تواند بر روی فایل یا دایرکتوری مورد نظر انجام دهد این بدان معناست که شما می توانید مشخص کنید چه کسی مجاز به خواندن فایل یا ارسال فایل است و یا اینکه  می تواند فایل را اجرا کند .
تمامی فایل ها و دایرکتوری ها در لینوکس با مجموعه ای از بیت های اجازه مجهز شده اند که دسترسی های مختلفی را تعیین می کند . این بیت ها از اعداد 0 تا 7 ساخته شده اند .

به جدول زیر توجه کنید.
مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 1)
سطوح دسترسی فایل ها و دایرکتوری ها در سیستم عامل لینوکس با دستور ls –l قابل مشاهده است :

kingdeface@ubuntu:~$ ls -l
total 44
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:57 Desktop
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Documents
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Downloads
-rw-r--r-- 1 kingdeface kingdeface 8980 Dec 27 08:00 examples.desktop
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Music
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Pictures
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Public
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Templates
drwxr-xr-x 2 kingdeface kingdeface 4096 Dec 27 10:07 Videos

اولین کاراکتری که از سمت چپ در این خروجی مشاهده می کنید نشان دهنده نوع آن فایل یا دایرکتوری است. اگر حرف "d" بود نشان دهنده ی یک دایرکتوری است اما اگر علامت dash "–" بود نشان دهنده ی یک فایل است .

d rwx r-x r-x
- rw- r-- r--
نماد ها و کاراکترهای دیگری هم هستند که به ترتیب زیر مشاهده می کنید :
=l سیمبولیک لینک
= b بلاک دیوایس
= s سوکت
= c کاراکتر دیوایس
= p پایپ

دسترسی کاربران در سیستم عامل لینوکس :
کاربران در لینوکس دارای مجوز های زیر هستند :
  1. خواندن یا read : مجوز خواندن یا بازکردن محتویات یک فایل.
  2. نوشتن یا write : مجوز تغییر محتویات یک فایل و اجازه ی نوشتن بر روی یک دایرکتوری را می دهد. اما قادر به تغییر نام و حذف یک دایرکتوری نیست.
  3. اجرا کردن یا Execute : مجوز اجرا کردن یک فایل یا وارد شدن به یک دایرکتوری

مالکیت ها درسیستم عامل لینوکس :
هرفایل و دایرکتوری در لینوکس به ترتیب زیر به سه حساب و مالک اعمال می شود :
  1. user کاربر صاحب فایل یا Owner
  2. group گروهی که مالکیت فایل مورد نظر را بر عهده دارند.
  3. other دیگران (نه مالک نه صاحبان گروه)
  4. all, everyone, world تمامی کاربران دیگر

مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 2)
چون Permissions ها قابلیت ترکیب شدن را دارند برای اینکه ما بتوانیم سطح دسترسی یک فایل را تنظیم کنیم به ترتیب زیر عمل میکنیم :
  1. مالک یا owner = read ,write ,execute
  2. گروه یا group = read ,execute
  3. کاربران دیگر all = read

مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 3)

خواندن مجوزها در مبنای 8
طبق تعاریف بالا ما میتوانیم مجوز ها را به دو 2 روش در مبنای 8 بخوانیم .
روش اول :
با توجه به تصویر 1 این کار را انجام می دهیم .
مثال (1-1) :
d rwxrwxrwx
اولین کاراکتر از سمت چپ نشان دهنده ی یک دایرکتوری است .

باقیمانده ی قسمت ها را از سمت چپ به سه قسمت سه تایی ، که هر سه قسمت از آنها به ترتیب از چپ به راست متعلق به دسترسی های owner ، دسترسی های group و دسترسی های all users است.
rwx = owner
rwx = group
rwx = all user

سپس به صورت زیر معادل باینری یا دو دویی هر یک از قسمت های 3 تایی در بالا را حساب می کنیم :

rwx = owner = 111
rwx = group = 111 => 111 111 111 => 777
rwx = all user = 111

و در نهایت اگر اعداد 111 111 111 را به مبنای 8 ببریم پرمیژن این دایرکتوری 777 خواهد بود.

مثال (1-2):
- rwxr-xr-x

به ترتیب روش بالا ابتدا قسمت ها را 3 تا 3 تا از هم جدا می کنیم :
rwx = owner
r-x = group
r-x = all user

سپس معادل باینری هر یک از قسمت های 3 تایی را حساب می کنیم:
rwx = owner = 111
r-x = group = 101 => 111 101 101=> 755
r-x = all user = 101

روش دوم:
در روش دوم ابتدا مطابق این تعریف :
1. مالک یا owner = read ,write ,execute
2. گروه یا group = read ,execute
3. کاربران دیگر all = read

و این جدول :

مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 4)

میتوانیم نتیجه بگیریم که :
0 = no permission = -
1 = execute = x
2 = write = w
4 = read = r

مثال (1-3) :
d rw- r-- r--

مطابق روش قبلی 3 تا 3 تا از سمت چپ از هم جدا می کنیم .( حرف d به معنای دایرکتوری است ).
rw- = owner
r-- = group
r-- = all user

سپس معادل عددی هر کدام از مجوزها را می نویسیم و درنهایت با هم جمع می کنیم :
rw- => r = 4 w=2 - = 0 => 4+2+0= 6
r-- => r = 4 - = 0 - = 0 => 4+0+0 = 4 => 644
r-- => r = 4 - = 0 - = 0 => 4+0+0 = 4

مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 5)

مثال (1-4) :
d rwxr-xr-x

(1)
rwx = owner
r-x = group
r-x = all user

(2)
rwx => r=4 w=2 x = 1 => 4+2+1= 7
r-x => r=4 -= 0 x = 1 => 4+0+1 = 5 => 755
r-x => r=4 -= 0 x = 1 => 4+0+1 = 5

مجوزهای-دسترسی-یا-Permissions-در-سیستم-عامل-لینوکس
(تصویر 6)
این مقاله به درخواست نویسنده آن حذف شده است. جهت مطالعه دیگر مقالات و کتب مفید در این زمینه از لینک های زیر استفاده کنید:
نمایش مترجم متن
بستن کادر مترجم
مترجم متن  
کلمه یا عبارت مورد نظر خود را وارد کنید: