Skip to content

صلاحيات الملفات في لينكس مشروحة

الأوضاع الثمانية والرمزية للأمر chmod، إضافة إلى بِتّات setuid وsetgid وsticky.

لكل ملف ثلاث فئات: المالك، والمجموعة، والآخرون. تجمع كل فئة ثلاثة بِتّات: القراءة تساوي 4، والكتابة تساوي 2، والتنفيذ يساوي 1. ثلاث خانات ثمانية تكوّن الوضع.

جدول مرجعي · 42 إدخالات
42 of 42 rows
رقمي (ثماني)
وصول كامل للمالك؛ المجموعة والآخرون يقرؤون وينفذون.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
رمزي
إضافة التنفيذ للمالك.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 على ملف عادي. تلميح قديم للإبقاء في مساحة التبديل يتجاهله لينكس الحديث.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
يطبع بيانات الملف الوصفية بما فيها الوضع الثماني.stat -c '%a %n' file
يسرد صلاحيات كل مكوّن في مسار.namei -l /var/www/index.html
يغيّر سمة ملف، مثل السمة غير القابلة للتغيير (immutable).chattr +i /etc/resolv.conf
يسرد سمات الملف.lsattr /etc/resolv.conf
يعرض القدرات (capabilities) الممنوحة لملف.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