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...