Chmod: تفاوت بین نسخهها
(تکمیل بخش دیدن مجوز ها) |
|||
سطر ۱۸: | سطر ۱۸: | ||
* ''' ... ''' | * ''' ... ''' | ||
− | بعد از اولین کاراکتر 9 کاراکتر بعدی برای نمایش مجوزهای ورودیها استفاده میشود. | + | بعد از اولین کاراکتر 9 کاراکتر بعدی برای نمایش مجوزهای ورودیها استفاده میشود. این کاراکترها میتوانند مقدارهای زیر را داشته باشند: |
* ''' r ''': نشان دهنده مجوز خواندن (read) | * ''' r ''': نشان دهنده مجوز خواندن (read) | ||
* ''' w ''': نشان دهنده مجوز نوشتن (write) | * ''' w ''': نشان دهنده مجوز نوشتن (write) | ||
* ''' x ''': نشان دهنده مجوز اجرا (execute) | * ''' x ''': نشان دهنده مجوز اجرا (execute) | ||
+ | * ''' - ''': نشان دهنده این است که مجوز تعیین نشده | ||
* ''' X ''': ... | * ''' X ''': ... | ||
* ''' s ''': نشان دهنده بیت '''[[SUID]]''' یا '''[[SGID]]''' است | * ''' s ''': نشان دهنده بیت '''[[SUID]]''' یا '''[[SGID]]''' است | ||
سطر ۲۷: | سطر ۲۸: | ||
* ''' t ''': نشان دهنده بیت چسبناک('''[[sticky-bit]]''') یا محافظت از حذف است | * ''' t ''': نشان دهنده بیت چسبناک('''[[sticky-bit]]''') یا محافظت از حذف است | ||
* ''' T ''': نشان دهنده بیت چسبناک('''[[sticky-bit]]''') یا محافظت از حذف است، اما بیت اجرایی('''x''') متناظر تعیین نشده است | * ''' T ''': نشان دهنده بیت چسبناک('''[[sticky-bit]]''') یا محافظت از حذف است، اما بیت اجرایی('''x''') متناظر تعیین نشده است | ||
+ | |||
+ | بعد از اولین کاراکتر بقیه 9 کاراکتر به سه گروه سه تایی تقسیم میشود. به ترتیب از سمت چپ : | ||
+ | |||
+ | * سه کاراکتر اول نشان دهنده مجوز های صاحب پرونده یا کاربر('''user''') : <code dir=ltr>-<span style="color:red">rwx</span>rwxrwx</code> | ||
+ | * بعد از ان سه کاراکتر بعدی نشان دهنده مجوز های گروه('''group''') : <code dir=ltr>-rwx<span style="color:red">rwx</span>rwx</code> | ||
+ | * و در اخر سه کاراکتر باقی مانده نشان دهنده دیگران('''other''') : <code dir=ltr>-rwxrwx<span style="color:red">rwx</span></code> | ||
+ | |||
+ | برای مثال : | ||
+ | * <code dir=ltr>-rwxr-xr-x</code> : نشان میدهد که صاحب پرونده(چون اولین کاراکتر "'''-'''" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه پرونده و دیگران اجازه خواندن و اجرا کردن پرونده را دارد، ولی اجازه نوشتن در پرونده را ندارند. | ||
+ | |||
+ | * <code dir=ltr>drwxr-x---</code> : نشان میدهد که صاحب دایرکتوری(چون اولین کاراکتر "'''d'''" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه دایرکتوری اجازه خواندن و اجرا کردن را دارد و دیگران هیچ اجازهای برای خواندن، نوشتن یا اجرا کردن در دایرکتوری را ندارند. | ||
+ | |||
+ | * <code dir=ltr>drwxrwxrwt</code> : نشان میدهد که صاحب دایرکتوری(چون اولین کاراکتر "'''d'''" است) تمام دسترسی های خواندن، نوشتن و اجرا کردن را دارد و اعضای گروه دایرکتوری نیز مانند صاحب دایرکتوری، اجازه خواندن، نوشتن و اجرا کردن پوشه را دارد و دیگران نیز همه مجوز ها را دارند و همچنین بیت چسبناک('''[[sticky-bit]]''') نیز برای این دایرکتوری تعیین شده است. | ||
نسخهٔ ۴ دی ۱۳۹۹، ساعت ۱۲:۵۹
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...