ما هو Setuid؟

إن Setuid ، الذي يرمز إلى تعيين معرف المستخدم عند التنفيذ ، هو نوع خاص من أذونات الملفات في أنظمة التشغيل Unix و Unix مثل Linux و BSD. إنها أداة أمان تسمح للمستخدمين بتشغيل برامج معينة بامتيازات متصاعدة.

عند تعيين إذن setuid لملف قابل للتنفيذ ، يجوز للمستخدمين تنفيذ هذا البرنامج بمستوى وصول يطابق المستخدم الذي يملك الملف. على سبيل المثال ، عندما يريد المستخدم تغيير كلمة المرور الخاصة به ، يقوم بتشغيل الأمر passwd. برنامج passwd مملوك من قبل حساب الجذر ويتم تمييزه على أنه برنامج setuid ، وبالتالي يتم منح المستخدم حق الوصول الجذر مؤقتًا لهذا الغرض المحدود للغاية.

عند عرض أذونات الملف باستخدام الأمر ls -l ، يتم عرض إذن setuid كـ " s " في موضع بت "تنفيذ المستخدم". فمثلا:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 20 نوفمبر 17:03 / usr / bin / passwd 

تحديد إذن setuid لملف

لتعيين إذن setuid لملف قابل للتنفيذ ، استخدم معرف الإذن u + s باستخدام الأمر chmod :

 chmod u + s myfile 

يمكن تمييز الملفات غير القابلة للتنفيذ على أنها setuid ، لكن ليس له أي تأثير ؛ وضع علامة عليها setuid لا يجعلها قابلة للتنفيذ تلقائيًا. في هذه الحالة ، تظهر بت الإذن كحرف كبير " S ". على سبيل المثال:

 ليرة لبنانية myfile 
 -rw-r - r-- مستخدم واحد 0 مارس 6 10:45 myfile 
 chmod u + s myfile 
 ليرة لبنانية myfile 
 -rwSr - r-- مستخدم واحد 0 مارس 6 10:45 myfile 

ومع ذلك ، إذا قمت بعد ذلك بتعيين الملف ليكون قابلاً للتنفيذ من قبل المستخدم بإذن u + x ، فسيصبح إذن setuid ساري المفعول. بعد ذلك سيتم تمثيلها في القائمة مع أحرف صغيرة:

 chmod u + x myfile 
 ليرة لبنانية myfile 
 -rwsr - r-- مستخدم واحد 0 مارس 6 10:45 myfile 

Setgid

Setgid هو ما يعادل setuid الذي يمنح إذن المجموعة التي تملك الملف المعروف باسم setgid . إنه يعمل بنفس الطريقة إلى حد كبير ، ويتم عرض مؤشر " s " أو " S " في مجموعة تنفيذ موضع إخراج ls -l . فمثلا:

 chmod g + s myfile2 
 ls -l myfile2 
 -rw-r-sr-- مستخدم واحد 0 مارس 6 10:46 myfile2 

اختصارات الكمبيوتر ، ملف قابل للتنفيذ ، لينكس ، إذن ، شروط الأمن