إعداد الصلاحيات

حاسبة صلاحيات ⁦chmod⁩

حدّد من يستطيع القراءة والكتابة والتنفيذ قبل تغيير الصلاحيات. اختر الأذونات أو ألصق قيمة موجودة لمراجعة صلاحيات المالك والمجموعة والآخرين.

إعداد الصلاحياتالحساب داخل المتصفح
أمثلة جاهزة

01اختر الصلاحيات

الصلاحيةالمالكuالمجموعةgالآخرونo
قراءةr = 4
كتابةw = 2
تنفيذx = 1
القيمة الثمانية755
البتات الخاصة اختياري

02راجع النتيجة أو عدّلها

ثلاث خانات للصلاحيات العادية؛ الخانة الرابعة في البداية للبتات الخاصة.

ألصق ⁦rwxr-xr-x⁩ أو حقل صلاحيات مثل ⁦drwxr-xr-x.⁩

المالكrwxقراءة + كتابة + تنفيذ
المجموعةr-xقراءة + تنفيذ
الآخرونr-xقراءة + تنفيذ

03استخدم الأمر

chmod 755 -- 'path/to/file'

يُقتبَس المسار كقيمة حرفية. استبدله بالهدف الفعلي؛ لا تنفّذ الأداة الأوامر.

يُحسب نمط الصلاحيات فقط دون اختبار الوصول الفعلي. قد يحافظ ⁦GNU chmod⁩ على ⁦setuid/setgid⁩ الموجودة للمجلد عند استخدام قيمة رقمية قصيرة. المزيد من التفاصيل.

راجع نطاق الوصول قبل تطبيق الأمر

الصلاحية المناسبة لملف بيانات قد لا تناسب سكربتًا أو مجلدًا مشتركًا. افصل بين المالك ومجموعة الملف وبقية المستخدمين، ثم حدّد العمليات المطلوبة لكل فئة. يعرض الحساب الاختيار نفسه بالأرقام وبصيغة ⁦rwx.⁩

يمكن إدخال ثلاث أو أربع خانات ثمانية، أو لصق حقل الصلاحيات من ls -l. عند وجود خطأ، يبقى آخر اختيار صالح وتُوقَف إمكانية نسخ الأمر حتى التصحيح. أضف المسار بعد المراجعة للحصول على أمر يستهدف عنصرًا واحدًا.

كيف تتحول القراءة والكتابة والتنفيذ إلى أرقام؟

لكل فئة، القراءة تساوي ⁦4⁩ والكتابة ⁦2⁩ والتنفيذ ⁦1.⁩ لذلك rwx تساوي ⁦7⁩ وr-x تساوي ⁦5⁩ وr-- تساوي ⁦4⁩؛ وتصبح rwxr-xr-- هي ⁦754.⁩ الترتيب هو المالك ثم المجموعة ثم الآخرون، دون جمع صلاحيات الفئات معًا.

تستخدم البتات الخاصة خانة إضافية في البداية: ⁦setuid⁩ بقيمة ⁦4⁩ و⁦setgid⁩ بقيمة ⁦2⁩ و⁦sticky⁩ بقيمة ⁦1.⁩ يضيف ⁦4755⁩ بت ⁦setuid⁩ إلى ⁦755⁩، ولا يضيف البت الخاص التنفيذ تلقائيًا.

القيمة الثمانيةrwxالصلاحية
0---بلا صلاحيات
1--xتنفيذ
2-w-كتابة
3-wxكتابة + تنفيذ
4r--قراءة
5r-xقراءة + تنفيذ
6rw-قراءة + كتابة
7rwxقراءة + كتابة + تنفيذ

التنفيذ على المجلد يعني البحث والعبور

قراءة المجلد تتيح سرد الأسماء، والتنفيذ يتيح البحث أو العبور في المسار، والكتابة تتعلق بتغيير عناصره. وتحتاج تغييرات العناصر عادةً إلى صلاحية البحث أيضًا. لذلك يفتقد المجلد ذو النمط ⁦644⁩ بتات البحث.

حذف ملف يعتمد أساسًا على صلاحيات المجلد الأب والقيود ذات الصلة، لا على بت كتابة الملف وحده. قد تؤثر ⁦ACL⁩ وخيارات التركيب وسياسات الأمان كذلك. لا تحاكي الحاسبة قرار الوصول الفعلي للنظام.

تمييز الحروف الكبيرة والبتات المحتفَظ بها

تشير ⁦s/t⁩ الصغيرة إلى وجود البت الخاص مع بت التنفيذ المقابل، بينما تشير ⁦S/T⁩ الكبيرة إلى غياب التنفيذ. في مجلدات ⁦Linux⁩، يُستخدم ⁦setgid⁩ لوراثة المجموعة و⁦sticky⁩ لتقييد حذف العناصر وإعادة تسميتها. أما أثرها على الملفات التنفيذية فيخضع لقواعد النظام.

قد يحتفظ ⁦GNU chmod⁩ ببتات ⁦setuid/setgid⁩ للمجلد عند استخدام أربعة أرقام أو أقل. ومن أمثلة مسحها صراحةً في توثيقه chmod 00755 -- 'directory'. تقبل الحاسبة قيمًا من ثلاث أو أربع خانات ولا تفحص الحالة الموجودة على القرص.

أمثلة بحسب نوع الوصول

القيمة الثمانيةrwxتفصيل الصلاحيات
644rw-r--r--يقرأ المالك ويكتب، وتقرأ المجموعة والآخرون فقط، دون تنفيذ.
755rwxr-xr-xللمالك جميع الصلاحيات العادية؛ وللمجموعة والآخرين القراءة والتنفيذ أو البحث.
600rw-------تقتصر صلاحيات القراءة والكتابة العادية على مالك الملف.
700rwx------المالك وحده يستطيع سرد المجلد وتعديل عناصره والبحث فيه.
2775rwxrwsr-xكتابة جماعية مع ⁦setgid⁩ لوراثة المجموعة في مجلد ⁦Linux.⁩
1777rwxrwxrwtمجلد مشترك مع ⁦sticky⁩ لتقييد الحذف وإعادة التسمية.
chmod 644 -- 'report.txt'
chmod 755 -- 'deploy.sh'
chmod 700 -- 'private-directory'

أسئلة عن صلاحيات الملفات

ما الفرق بين ⁦755⁩ و⁦644⁩؟

يضيف ⁦755⁩ التنفيذ للفئات الثلاث. قد يلزم لسكربت تنفيذي أو للبحث في مجلد، لكن ملفات البيانات لا تحتاج التنفيذ تلقائيًا.

هل يمكن لصق ⁦drwxr-xr-x⁩؟

نعم. تُهمَل بادئة النوع المعروفة وتكون النتيجة ⁦755.⁩ لا يغيّر ذلك نوع الملف. احذف علامات ⁦ACL⁩ والأعمدة الأخرى من القائمة.

هل يحل ⁦777⁩ كل أخطاء الصلاحيات؟

لا. يمنح القراءة والكتابة والتنفيذ لكل الفئات، لكن ضوابط أخرى قد تمنع الوصول. راجع المالك والفئة المنطبقة والمجلدات الأب قبل توسيع الصلاحيات.

هل تُقبَل صيغة ⁦u+x⁩؟

لا تُحلَّل تعبيرات ⁦chmod⁩ النسبية. أدخل القيمة الثمانية أو ⁦rwx.⁩ لتغيير بت واحد فقط، يمكن استخدام تعبير نسبي في أمر مستقل بدل استبدال الصلاحيات العادية كلها برقم.

هل ستتغير ملفات الخادم؟

لا. يتم الحساب في المتصفح ويُجهَّز أمر لمسار حرفي واحد، دون تنفيذ أو معالجة متكررة للمجلدات. يخص ⁦umask⁩ إنشاء عناصر جديدة وليس هذا الحساب.

chmod(1) · GNU Coreutils

العودة إلى الحاسبة