صلاحيات الملفات في Linux: علّم المربعات أو اكتب 755 أو rwxr-xr-x، وانسخ أمر chmod
يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان.تجمع أوضاع chmod ثلاثة أرقام لكل فئة: القراءة 4 والكتابة 2 والتنفيذ 1. فالرقم 7 يعني rwx و5 يعني r-x، فيصبح 755 هو rwxr-xr-x: المالك يعدّل الملف والجميع غيره يقرؤونه ويشغّلونه. ويضبط رقم رابع في البداية setuid (4) أو setgid (2) أو sticky (1).
تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي
علّم «القراءة» و«الكتابة» و«التنفيذ» لـ«المالك» و«المجموعة» و«الآخرين»، أو اكتب وضعًا مثل 755 أو rwxr-xr-x.
اقرأ الصيغتين «ثماني» و«رمزي (ls -l)»، مع ما يسمح به كل رقم.
علّم setuid أو setgid أو sticky تحت «خاص» إذا احتاجها الملف.
اكتب اسم «الملف أو المجلد»، وشغّل -R لشجرة كاملة، واضغط «نسخ» لأمر chmod.
تحوّل حاسبة chmod هذه صلاحيات الملفات في Unix وLinux بين الرقم الثماني، مثل 755، والحروف الرمزية التي يطبعها ls -l، مثل rwxr-xr-x. علّم مربعات القراءة والكتابة والتنفيذ للمالك والمجموعة والآخرين، أو اكتب رقمًا، أو الصق عمود الصلاحيات من ls -l بما فيه حرف نوع الملف في البداية؛ فتبقى الصيغ الثلاث متزامنة.
كل رقم مجموع: القراءة 4 والكتابة 2 والتنفيذ 1. فرقم المالك 7 هو 4 + 2 + 1، ورقم المجموعة 5 هو 4 + 1. ويحمل رقم رابع في البداية البتات الخاصة: setuid (4) يشغّل البرنامج باسم مالكه، وsetgid (2) يشغّله باسم مجموعته أو يجعل الملفات الجديدة في مجلد ترث المجموعة، وsticky (1) يسمح لكل شخص بحذف ملفاته فقط في مجلد مشترك مثل /tmp. وتظهر في الحروف كـ s أو t في موضع التنفيذ، وكحرف S أو T كبير عندما لا يكون التنفيذ مضبوطًا أيضًا، وهذا يعني غالبًا خطأ.
سطر الأوامر في الأسفل جاهز للنسخ، بالصيغة الرقمية (chmod 755 file) أو الرمزية (chmod u=rwx,g=rx,o=rx file)، مع -R لشجرة مجلدات كاملة، ومع وضع اسم ملفك بين علامات اقتباس للصدفة إذا احتوى مسافات. وتظهر تحذيرات للأوضاع التي تكون عادة خطأ، مثل ملف قابل للكتابة من الجميع.
يُظهر مربع umask ما تفعله umask بالملفات الجديدة التي تبدأ من 666، وبالمجلدات الجديدة التي تبدأ من 777. فالقيمة 022 تعطي 644 و755؛ و077 تعطي 600 و700.
ما لا تفعله: تغيير أي ملف، أو قراءة قوائم التحكم بالوصول (ACL)، أو تطبيق تغييرات نسبية مثل g+w على وضع موجود. كل شيء يعمل في متصفحك. أدوات ذات صلة: Number Base Converter وCron Expression Builder.
يحصل المالك على 7، وهي القراءة (4) زائد الكتابة (2) زائد التنفيذ (1). وتحصل المجموعة والجميع غيرها على 5، أي القراءة زائد التنفيذ. فيستطيع أي شخص تشغيل البرنامج أو فتح المجلد، لكن المالك وحده يستطيع تغييره. ويظهر في ls -l هكذا: rwxr-xr-x.
كلاهما لا يسمح بالكتابة إلا للمالك. ويضيف 755 التنفيذ للجميع، وهو ما يحتاجه السكربت أو البرنامج أو المجلد؛ أما 644 فيترك التنفيذ مغلقًا، وهذا يناسب الملفات العادية مثل صفحات الويب والصور والإعدادات. وإعطاء ملف عادي 755 لا يضر لكنه غير ضروري.
يسمح الوضع 777 لكل مستخدم على الجهاز بتغيير الملف أو استبداله أو حذفه وتشغيله. وعلى خادم ويب يعني ذلك أن أي عملية مخترقة تستطيع إعادة كتابة شيفرتك. والمجلدات التي يجب مشاركتها فعلًا ينبغي أن تستخدم 1777، التي تضيف بت sticky ليحذف كل شخص ملفاته فقط.
حرف s الصغير في موضع تنفيذ المالك أو المجموعة يعني أن setuid أو setgid مفعّل والتنفيذ مفعّل. وحرف S الكبير يعني أن البت الخاص مفعّل لكن التنفيذ غير مفعّل. والأمر نفسه ينطبق على t وT في الموضع الأخير، اللذين يُظهران بت sticky.
تنشئ البرامج عادة الملفات بـ 666 والمجلدات بـ 777، ويُزال كل بت مضبوط في umask. فمع umask 022 تخرج الملفات بـ 644 والمجلدات بـ 755. ومع 077 تكون 600 و700، خاصة بالمالك. ولا تضيف umask صلاحيات أبدًا.
لا. الصفحة تحسب الأرقام فقط وتكتب الأمر لتشغّله في الطرفية. لا يُرفع شيء ولا يُمسّ أي ملف. الصق الأمر في صدفة على الجهاز الذي يحتوي الملف، وأضف sudo إذا لم تكن مالكه.
هل ما زلت عالقًا؟ اسأل عن حاسبة chmod ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.