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

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

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

ما وراء RWX: التحكم في التنفيذ والمشاركة

بالإضافة إلى الصلاحيات الـ 9 القياسية، يحتوي Linux على ثلاث وحدات بت خاصة بالصلاحيات تؤثر على كيفية تصرف الملفات والأدلة. يتم تمثيلها برقم رابع رائد في الترميز الثماني أو بـ s أو t في الترميز الرمزي.

1. Set User ID (SUID)

  • ثماني (Octal): 4
  • رمزي (Symbolic): s في حقل المستخدم (User field).

إذا تم تعيين SUID على ملف قابل للتنفيذ، فسيتم تشغيل البرنامج بصلاحيات مالك الملف، بغض النظر عن المستخدم الذي يقوم بتنفيذه.

مثال حاسم: أمر passwd. إنه مملوك لـ root وتم تعيين SUID عليه. عندما تقوم بتشغيل passwd، تكتسب العملية مؤقتاً امتيازات root للكتابة في ملف /etc/shadow المحمي، مما يسمح لك بتغيير كلمة المرور الخاصة بك.

bash $ ls -l /usr/bin/passwd -rwsr-xr-x 1 root root ... /usr/bin/passwd

لاحظ حرف 's' بدلاً من 'x' في حقل المالك.