Skip to content

مجوزهای فایل در لینوکس توضیح داده شده

حالت‌های octal و symbolic برای chmod، به‌همراه بیت‌های setuid و setgid و sticky.

هر فایل سه کلاس دارد: مالک، گروه و دیگران. هر کلاس مجموع سه بیت است: خواندن 4 است، نوشتن 2 است، اجرا 1 است. سه رقم octal حالت فایل را می‌سازند.

جدول مرجع · 42 مورد
42 of 42 rows
عددی (octal)
دسترسی کامل برای مالک؛ خواندن و اجرا برای گروه و دیگران.chmod 755 script.sh
خواندن و نوشتن برای مالک؛ فقط خواندن برای گروه و دیگران.chmod 644 notes.txt
فقط خواندن و نوشتن برای مالک؛ بدون دسترسی برای دیگران.chmod 600 ~/.ssh/id_rsa
فقط دسترسی کامل برای مالک؛ بدون دسترسی برای دیگران.chmod 700 ~/.ssh
دسترسی کامل برای همه. یک ریسک امنیتی.chmod 777 shared/
خواندن و نوشتن برای همه. هیچ بیت اجرا تنظیم نشده است.chmod 666 log.txt
دسترسی کامل برای مالک؛ خواندن و اجرا برای گروه؛ بدون دسترسی برای دیگران.chmod 750 app/
فقط اجرا، برای همه کلاس‌ها. دایرکتوری قابل عبور است اما قابل فهرست‌کردن نیست.chmod 111 dir/
بدون دسترسی برای هیچ کلاسی. کاربر root همچنان می‌تواند فایل را بخواند.chmod 000 private.key
دسترسی کامل برای مالک و گروه به‌همراه setgid؛ الگوی رایج دایرکتوری مشترک تیمی.chmod 2775 /srv/team
نتایج umask
ماسک پیش‌فرض. فایل‌های جدید 644 می‌گیرند؛ دایرکتوری‌های جدید 755.umask 022
ماسک خصوصی. فایل‌های جدید 600 می‌گیرند؛ دایرکتوری‌های جدید 700.umask 077
نمادین (symbolic)
افزودن اجازه اجرا برای مالک.chmod u+x deploy.sh
حذف اجازه نوشتن از گروه.chmod g-w config.yml
حذف اجازه خواندن از دیگران.chmod o-r secret.env
تنظیم فقط-خواندن برای همه کلاس‌ها.chmod a=r readme.md
اعطای همه مجوزها به همه کلاس‌ها.chmod ugo+rwx public/
بیت‌های ویژه
بیت setuid تنظیم شده. باینری با هویت مالک فایل اجرا می‌شود.chmod 4755 /usr/bin/passwd
بیت setgid تنظیم شده. فایل‌ها و زیردایرکتوری‌های جدید گروه دایرکتوری را به ارث می‌برند.chmod 2755 /shared
بیت sticky تنظیم شده. فقط مالک فایل می‌تواند آن را حذف کند.chmod 1777 /tmp
بیت sticky روی یک فایل معمولی. یادگاری قدیمی از keep-in-swap که لینوکس مدرن نادیده می‌گیرد.chmod 1755 legacy.sh
دستورها
تغییر بیت‌های حالت فایل.chmod 755 file
تغییر مالک و گروه فایل.chown user:group file
تغییر گروه مالک فایل.chgrp devs file
تنظیم ماسک پیش‌فرض مجوز برای فایل‌های جدید.umask 022
فهرست کردن فایل‌ها همراه با مجوزها در قالب بلند.ls -l /etc
نمایش مدخل‌های POSIX ACL یک فایل.getfacl report.pdf
تنظیم یا تغییر مدخل‌های POSIX ACL.setfacl -m u:alice:rw report.pdf
یافتن فایل‌هایی که بیت‌های مجوزشان با یک حالت مطابقت دارد.find / -perm /4000
چاپ اطلاعات فایل، از جمله حالت octal.stat -c '%a %n' file
نمایش مجوزهای تک‌تک اجزای یک مسیر.namei -l /var/www/index.html
تغییر صفت یک فایل، مثل immutable.chattr +i /etc/resolv.conf
فهرست کردن صفت‌های فایل.lsattr /etc/resolv.conf
نمایش قابلیت‌های (capability) داده‌شده به یک فایل.getcap /usr/bin/ping
اعطای قابلیت به یک فایل، بدون setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
فهرست قابلیت‌های فعال در پوسته فعلی.capsh --print
نمایش شناسه کاربر، شناسه گروه و عضویت‌های گروهی یک کاربر.id alice
فهرست گروه‌هایی که یک کاربر در آن‌ها عضو است.groups alice
اجرای یک دستور با هویت کاربر دیگر طبق سیاست sudoers.sudo systemctl restart nginx
ویرایش فایل sudoers همراه با بررسی نحوی.visudo
جابه‌جایی به حساب کاربری دیگر.su - deploy
شروع یک پوسته با گروه اصلی متفاوت.newgrp developers