نحوه استفاده
- چکباکسهای خواندن، نوشتن و اجرا را برای مالک، گروه و دیگران تیک بزنید.
- یا یک مقدار اکتال مانند 640 یا یک رشته نمادین مانند rw-r----- یا -rw-r----- را که از ls -l کپی شده است تایپ کنید.
- در صورت نیاز setuid، setgid یا بیت sticky را اضافه کنید یا یک مقدار رایج را انتخاب کنید.
- نام فایل را وارد کنید و فرمان chmod را کپی کنید.
نحوه کار
هر یک از سه کلاس (مالک، گروه، دیگران) سه مجوز دارد. خواندن مقدار ۴، نوشتن مقدار ۲ و اجرا مقدار ۱ دارد و مجموع آنها یک رقم اکتال است؛ بنابراین rwx = 7، r-x = 5 و r-- = 4 است. سه رقم حالت را میسازند: 755 یعنی مالک rwx و گروه و دیگران r-x دارند.
یک رقم چهارم اختیاری در ابتدا بیتهای ویژه را نگه میدارد: ۴ برای setuid، ۲ برای setgid و ۱ برای sticky. در شکل نمادین، این بیتها جایگاه اجرا را میگیرند: s برای setuid یا setgid و t برای sticky. S یا T بزرگ به این معناست که بیت ویژه تنظیم شده اما اجرا تنظیم نشده است که معمولاً اشتباه است.
کادر نمادین نویسههای نهگانه (rwxr-xr-x) یا شکل دهنویسه را میپذیرد که ls -l چاپ میکند؛ در آن شکل، نویسه نخست نوع فایل است (- برای فایل و d برای پوشه) و اینجا نادیده گرفته میشود. یک نقطه یا + انتهایی مربوط به SELinux یا ACLها نیز پذیرفته میشود.
دو دستور نمایش داده میشوند: شکل اکتال که همه بیتها را یکجا تنظیم میکند و شکل نمادین معادل مانند u=rwx,g=rx,o=rx. نام فایلهای دارای فاصله یا نویسههای ویژه دیگر برای پوسته درون علامت نقلقول قرار میگیرند؛ ~/ ابتدایی و wildcardهای * و ? بدون نقلقول رها میشوند تا پوسته بتواند آنها را گسترش دهد. با GNU chmod، حالت اکتال برای پوشه بیتهای setuid یا setgid را که از قبل تنظیم شدهاند پاک نمیکند؛ اگر نیاز به حذف آنها دارید، از شکل نمادین یا حالت پنجرقمی مانند 00755 استفاده کنید.
نمونهها
فایلها و پوشههای وب
فایلهایی که وبسرور فقط آنها را میخواند معمولاً 644 (rw-r--r--) و پوشهها 755 (rwxr-xr-x) هستند تا بتوان واردشان شد و فهرستشان را دید.
کلید خصوصی SSH
SSH کلیدهایی را که دیگران بتوانند بخوانند رد میکند. فقط خواندن و نوشتن را برای مالک علامت بزنید تا حالت 600 و دستور chmod 600 ~/.ssh/id_ed25519 به دست آید (مسیر را بهعنوان نام فایل وارد کنید).
پوشه آپلود اشتراکی
پوشههای شبیه /tmp از حالت 1777 (rwxrwxrwt) استفاده میکنند: همه میتوانند فایل بسازند، اما بیت sticky مانع از حذف فایلهای یکدیگر توسط کاربران میشود.
پرسشهای متداول
تفاوت 755 و 775 چیست؟
با 775 گروه نیز میتواند بنویسد (فایلها را در پوشه بسازد، تغییر دهد و حذف کند). با 755 فقط مالک میتواند بنویسد؛ گروه و دیگران میتوانند بخوانند و اجرا کنند.
چرا باید از 777 اجتناب کنم؟
777 به هر کاربر سیستم اجازه میدهد فایل را تغییر دهد یا جایگزین کند. روی وبسرور، این وضعیت میتواند به حساب کاربری دیگر یا فرایند نفوذکرده اجازه تزریق کد بدهد. دسترسی نوشتن را فقط به مالک یا یک گروه مشخص بدهید.
اجرا برای پوشه به چه معناست؟
برای پوشه، اجرا (x) به معنای اجازه ورود به آن و دسترسی به فایلهای درون آن است. فقط خواندن به شما اجازه میدهد نامها را فهرست کنید اما فایلها را باز نکنید.
آیا این ابزار مجوزهای رایانه من را تغییر میدهد؟
خیر. این ابزار فقط مقادیر را محاسبه و متن فرمان را میسازد. فرمان را خودتان در ترمینال اجرا میکنید.
حریم خصوصی
همه چیز در مرورگر شما محاسبه میشود. نام فایلی که تایپ میکنید به جایی ارسال نمیشود، ذخیره نمیشود و در تحلیلها گنجانده نمیشود.