العودة إلى الدورة

40. الصلاحيات الخاصة: SUID و SGID و Sticky Bit (الجزء 2)

أساسيات Linux: من الصفر إلى إتقان واجهة سطر الأوامر (CLI Hero)

2. Set Group ID (SGID)

  • ثماني (Octal): 2
  • رمزي (Symbolic): s في حقل المجموعة (Group field).

على ملف: عند تنفيذه، تعمل العملية بصلاحيات مجموعة مالك الملف.

على دليل: هذا مهم جداً للأدلة المشتركة. أي ملف أو دليل يتم إنشاؤه داخل دليل ممكّن لـ SGID يرث تلقائياً ملكية المجموعة للدليل الأصل، بغض النظر عن المستخدم الذي أنشأه. وهذا يضمن أن جميع المحتويات الجديدة تنتمي إلى المجموعة المشتركة.

3. الـ Sticky Bit

  • ثماني (Octal): 1
  • رمزي (Symbolic): t في حقل الآخرون (Others field).

يُستخدم الـ Sticky Bit بشكل أساسي على الأدلة. إذا تم تعيينه، يمكن للمستخدمين إنشاء ملفات في ذلك الدليل، ولكن لا يمكنهم حذف سوى الملفات التي يمتلكونها هم (حتى لو كان لديهم صلاحية الكتابة للدليل).

مثال حاسم: دليل /tmp. يمكن للعالم كله الكتابة فيه (world-writable)، لكن الـ Sticky Bit يمنع المستخدمين من حذف الملفات التي أنشأها الآخرون.

bash $ ls -ld /tmp drwxrwxrwt 13 root root ... /tmp

لاحظ حرف 't' في النهاية.