آشنایی با File and Directory Permissions در لینوکس یکبار برای همیشه
در لینوکس، هر فایل و دایرکتوری دارای
سطوح دسترسی (Permissions) است که مشخص میکند چه کسی میتواند به فایل یا دایرکتوری دسترسی داشته باشد و چه کاری با آن انجام دهد. این سطوح دسترسی برای سه دسته اصلی تعریف میشوند:
1.
Owner (مالک فایل یا دایرکتوری)
2.
Group (گروهی که فایل یا دایرکتوری به آن تعلق دارد)
3.
Others (سایر کاربران سیستم)
ساختار دسترسیها
در ابتدای هر فایل یا دایرکتوری در خروجی دستور
ls -l
، سطح دسترسی آن به صورت زیر نمایش داده میشود:
drwxrwxrwx
این سطح دسترسی از 10 کاراکتر تشکیل شده است:
1.
اولین کاراکتر: نوع فایل را مشخص میکند:
-
-
: فایل معمولی
-
d
: دایرکتوری
-
l
: لینک سمبلیک
2.
9 کاراکتر بعدی (سه گروه سهتایی): سطح دسترسی برای
مالک، گروه و سایرین را نشان میدهد:
-
r
: اجازه خواندن (Read)
-
w
: اجازه نوشتن (Write)
-
x
: اجازه اجرا (Execute)
جدول باینری و مقادیر اعداد
هر سطح دسترسی را میتوان به یک عدد باینری و سپس یک مقدار عددی تبدیل کرد. جدول زیر این مفهوم را نشان میدهد:
| مقدار عددی | سطح دسترسی | باینری |
|------------|------------|---------|
| 7 | rwx | 111 |
| 6 | rw- | 110 |
| 5 | r-x | 101 |
| 4 | r-- | 100 |
| 3 | -wx | 011 |
| 2 | -w- | 010 |
| 1 | --x | 001 |
| 0 | --- | 000
مثال: chmod 777
دستور
chmod
برای تغییر سطح دسترسی فایلها و دایرکتوریها استفاده میشود. در مثال
chmod 777
:
- اولین عدد
7
: سطح دسترسی مالک (
Owner
) است.
- دومین عدد
7
: سطح دسترسی گروه (
Group
) است.
- سومین عدد
7
: سطح دسترسی سایرین (
Others
) است.
سطح دسترسی هر عدد به صورت زیر تعریف میشود:
rwx | rwx | rwx
این به این معناست که:
-
مالک: میتواند بخواند، بنویسد و اجرا کند.
-
گروه: میتواند بخواند، بنویسد و اجرا کند.
-
سایرین: میتوانند بخوانند، بنویسند و اجرا کنند.
دسترسیهای محدودتر
حال اگر بخواهیم دسترسی محدودتری تعریف کنیم، میتوانیم از مقادیر پایینتر استفاده کنیم:
-
chmod 644
:
- مالک:
rw-
(خواندن و نوشتن)
- گروه:
r--
(فقط خواندن)
- سایرین:
r--
(فقط خواندن)
-
chmod 755
:
- مالک:
rwx
(خواندن، نوشتن و اجرا)
- گروه:
r-x
(خواندن و اجرا)
- سایرین:
r-x
(خواندن و اجرا)
-
chmod +x
:
دسترسی execute به مالک و گروه و دیگر کاربران
-
chmod -r
:
دسترسی read رو از مالک و گروه و دیگر کاربران میگیریم
نکته درباره دایرکتوریها
برای دایرکتوریها:
-
r
:
به کاربر اجازه میدهد محتویات دایرکتوری را مشاهده کند.
-
w
:
به کاربر اجازه میدهد فایلها را حذف یا اضافه کند.
-
x
:
اجازه ورود به دایرکتوری را میدهد.
#file_and_directory_permission
@Syntax_fa