Chmod
chmod که مخفف change mode است، فرمانی برای تغییر مجوز های یک پرونده یا یک دایرکتوری(پوشه) است.
از این فرمان برای اصلاح اینکه چه کسانی اجازه اجرا و خواندن و نوشتن را در کدام دایرکتوری ها و بر روی کدام فایل ها دارند، استفاده میشود. دستور chmod در نگاه اول بسیار پیچیده بنظر میرسد ولی در واقع بسیار ساده و منطقی است.
دیدن مجوز ها
برای دیدن مجوز های پرونده یا پوشه ها میتوان از دستور ls به این صورت استفاده کرد:
$ ls -l
در هر خط اولین کاراکتر نشان دهنده نوع ورودی است. بعضی از مقدار هایی که این کاراکتر میگیرد:
- - : نشان دهنده پرونده یا فایل
- d : نشان دهنده دایرکتوری یا پوشه
- l : نشان دهنده لینک
- s : نشان دهنده سوکت
- b : نشان دهنده بلوک (پاراتیشن)
- c : نشان دهنده کاراکتر
- ...
بعد از اولین کاراکتر 9 کاراکتر بعدی برای نمایش مجوز های ورودی ها استفاده میشود. 9 کاراکتر بعدی میتوانند مقدار های زیر را داشته باشند:
- r : نشان دهنده مجوز خواندن (read)
- w : نشان دهنده مجوز نوشتن (write)
- x : نشان دهنده مجوز اجرا (execute)
- X : ...
- s : نشان دهنده بیت SUID یا SGID است
- S : نشان دهنده بیت SUID یا SGID است، اما مجوز اجرایی(x) متناظر تعیین نشده است
- t : نشان دهنده بیت چسبناک(sticky-bit) یا محافظت از حذف است
- T : نشان دهنده بیت چسبناک(sticky-bit) یا محافظت از حذف است، اما بیت اجرایی(x) متناظر تعیین نشده است
گزینه ها
-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...