Chmod

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۴ دی ۱۳۹۹، ساعت ۱۲:۵۹ توسط Eshagh (بحث | مشارکت‌ها) (تکمیل بخش دیدن مجوز ها)
پرش به: ناوبری، جستجو
Chmod 1.png

chmod که مخفف change mode است، فرمانی برای تغییر مجوزهای یک پرونده یا دایرکتوری(پوشه) است.

از این فرمان برای اصلاح این‌که چه کسانی اجازه اجرا، خواندن و نوشتن در کدام دایرکتوری‌ها و بر روی کدام فایل‌ها را دارند، استفاده می‌شود. دستور chmod در نگاه اول پیچیده بنظر می‌رسد ولی در واقع ساده و منطقی است.

دیدن مجوز ها

برای دیدن مجوزهای پرونده یا پوشه‌ها میتوان از فرمان ls به این صورت استفاده کرد: $ ls -l

در هر خط اولین کاراکتر نشان دهنده نوع ورودی است. بعضی از مقدارهایی که این کاراکتر می‌گیرد:

  • - : نشان دهنده پرونده یا فایل
  • d : نشان دهنده دایرکتوری یا پوشه
  • l : نشان دهنده لینک
  • s : نشان دهنده سوکت
  • b : نشان دهنده بلوک (پاراتیشن)
  • c : نشان دهنده کاراکتر
  • ...

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

  • r : نشان دهنده مجوز خواندن (read)
  • w : نشان دهنده مجوز نوشتن (write)
  • x : نشان دهنده مجوز اجرا (execute)
  • - : نشان دهنده این است که مجوز تعیین نشده
  • X : ...
  • s : نشان دهنده بیت SUID یا SGID است
  • S : نشان دهنده بیت SUID یا SGID است، اما مجوز اجرایی(x) متناظر تعیین نشده است
  • t : نشان دهنده بیت چسبناک(sticky-bit) یا محافظت از حذف است
  • T : نشان دهنده بیت چسبناک(sticky-bit) یا محافظت از حذف است، اما بیت اجرایی(x) متناظر تعیین نشده است

بعد از اولین کاراکتر بقیه 9 کاراکتر به سه گروه سه تایی تقسیم میشود. به ترتیب از سمت چپ :

  • سه کاراکتر اول نشان دهنده مجوز های صاحب پرونده یا کاربر(user) : -rwxrwxrwx
  • بعد از ان سه کاراکتر بعدی نشان دهنده مجوز های گروه(group) : -rwxrwxrwx
  • و در اخر سه کاراکتر باقی مانده نشان دهنده دیگران(other) : -rwxrwxrwx

برای مثال :

  • -rwxr-xr-x : نشان میدهد که صاحب پرونده(چون اولین کاراکتر "-" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه پرونده و دیگران اجازه خواندن و اجرا کردن پرونده را دارد، ولی اجازه نوشتن در پرونده را ندارند.
  • drwxr-x--- : نشان میدهد که صاحب دایرکتوری(چون اولین کاراکتر "d" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه دایرکتوری اجازه خواندن و اجرا کردن را دارد و دیگران هیچ اجازه‌ای برای خواندن، نوشتن یا اجرا کردن در دایرکتوری را ندارند.
  • drwxrwxrwt : نشان میدهد که صاحب دایرکتوری(چون اولین کاراکتر "d" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه دایرکتوری نیز مانند صاحب دایرکتوری، اجازه خواندن، نوشتن و اجرا کردن پوشه را دارد و دیگران نیز همه مجوز ها را دارند و همچنین بیت چسبناک(sticky-bit) نیز برای این دایرکتوری تعیین شده است.


گزینه‌ها

-c, --changes

مانند verbose اما فقط در صورت ایجاد تغییر گزارش می‌دهید

-f, --silent, --quiet

بیشتر پیغام های خطا را نادیده می‌گیرد

-v, --verbose

برای هر پروسه اطلاعات اضافی را چاپ می‌کند

--no-preserve-root

do not treat '/' specially (the default)

--preserve-root

fail to operate recursively on '/'

--reference=RFILE

استفاده از مجوز های فایل 'RFILE' به عنوان مرجع (از مجوزهای فایل 'RFILE' استفاده می‌کند)

-R, --recursive

تغییر همه پرونده‌ها و دایرکتوری‌ها به صورت بازگشتی

--help

راهنما را نمایش می‌دهد

--version

نسخه برنامه را نمایش می‌دهد

روش کار

می‌توان از فرمان chmod به این شکل استفاده کرد:

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...