آموزش علوم کامپیوتر

مدیریت مجوزها (Permissions): توضیح مجوزهای فایل و دستور chmod.

در سیستم لینوکس، امنیت فایل‌ها و دایرکتوری‌ها اهمیت ویژه‌ای دارد. مدیریت مجوزها به شما این امکان را می‌دهد که تعیین کنید چه کسی می‌تواند یک فایل را بخواند، ویرایش کند یا اجرا کند. این مجوزها برای هر فایل یا دایرکتوری به سه دسته اصلی تقسیم می‌شوند:

  • مالک (Owner): کاربر سازنده فایل.
  • گروه (Group): اعضای یک گروه خاص که می‌توانند به فایل دسترسی داشته باشند.
  • دیگران (Others): تمامی کاربرانی که نه مالک هستند و نه عضو گروه.
مدیریت مجوزها در لینوکس

انواع مجوزها

برای هر یک از این سه دسته، سه نوع مجوز وجود دارد که با حروف نمایش داده می‌شوند:

  • r (read): مجوز خواندن محتوای فایل.
  • w (write): مجوز نوشتن یا ویرایش فایل (یا ایجاد/حذف فایل در یک دایرکتوری).
  • x (execute): مجوز اجرای فایل (اگر یک اسکریپت یا برنامه باشد) یا دسترسی به محتویات دایرکتوری.

هنگامی که دستور ls -l را اجرا می‌کنید، یک رشته مجوز مانند –drwxr-xr را در سمت چپ مشاهده می‌کنید. بیایید آن را تحلیل کنیم:

  • اولین کاراکتر (d): نشان‌دهنده نوع فایل است. d برای دایرکتوری و – برای فایل است.
  • سه کاراکتر بعدی (rwx): مجوزهای مالک را نشان می‌دهند (خواندن، نوشتن، اجرا).
  • سه کاراکتر بعدی (r-x): مجوزهای گروه را نشان می‌دهند (خواندن و اجرا، اما نه نوشتن).
  • سه کاراکتر آخر (r): مجوزهای دیگران را نشان می‌دهند (فقط خواندن).

دستور chmod (Change Mode) – تغییر مجوزها

دستور chmod قدرتمندترین ابزار برای تغییر مجوزهای فایل‌ها و دایرکتوری‌ها است. این دستور به دو روش اصلی استفاده می‌شود:

۱. روش نمادین (Symbolic Mode)

این روش از حروف برای تغییر مجوزها استفاده می‌کند:

  • چه کسی؟: u (کاربر/مالک)، g (گروه)، o (دیگران) و a (همه).
  • چه کاری؟: + (اضافه کردن مجوز)، – (حذف مجوز) و = (تنظیم دقیق مجوز).
  • چه مجوزی؟: r, w, x.
  • مثال: اضافه کردن مجوز اجرا به مالک:

chmod u+x my_script.sh

با این دستور، به مالک فایل my_script.sh اجازه اجرای آن داده می‌شود.

  • مثال: حذف مجوز نوشتن از گروه و دیگران:

chmod go-w my_file.txt

۲. روش عددی (Numeric Mode)

این روش از اعداد برای تعیین مجوزها استفاده می‌کند. هر مجوز یک مقدار عددی دارد:

  • r = 4
  • w = 2
  • x = 1
  • – = 0 (بدون مجوز)

شما با جمع زدن این اعداد، مجوز نهایی را برای هر سه دسته (مالک، گروه، دیگران) تعیین می‌کنید:

  • rwx (خواندن، نوشتن، اجرا) = 4 + 2 + 1 = 7
  • -rw (خواندن، نوشتن) = 4 + 2 + 0 = 6
  • r-x (خواندن، اجرا) = 4 + 0 + 1 = 5
  • –r (خواندن) = 4 + 0 + 0 = 4
  • مثال: تنظیم مجوز rwx برای مالک، r-x برای گروه و r برای دیگران:

chmod 754 my_file.txt

این دستور همان کاری را انجام می‌دهد که در تحلیل رشته مجوز –rwxr-xr دیدیم.

مدیریت دقیق مجوزها به شما اجازه می‌دهد تا کنترل کاملی بر روی دسترسی به فایل‌ها داشته باشید و از تغییرات ناخواسته یا دسترسی غیرمجاز جلوگیری کنید. این یک مهارت اساسی برای هر کاربر لینوکس است.

پیمایش به بالا