وظیفه ی suid این است که در صورت فعال بودن بر روی فایلی . آن فایل را با پرمیشن سازنده یا همان Owner فایل اجرا می کند مثلا یک فایل اجرایی را فرض کنید که مقدار suid دارد و سازنده ی این فایل اجرایی root است . حال اگر یوزر دیگری ( limit ) این فایل اجرایی را اجرا کند ( در صورت داشتن پرمیشن execute ) . آن فایل با یوزر root به اجرا در می آید .

وظیفه ی sgid دقیقا همانند وظیفه ی suid است با تفاوت که با گروه و یا Group فایل سرو کار دارد . یعنی در صورت فعال بودن بر روی فایلی . در صورت اجرا توسط هر یوزر . فایل با گروه سازنده ی فایل به اجرا در می آید .

نحوه تنظیم suid , sgid :

بیایید فرض کنیم که می خواهیم SGID را در پوشه Community_content تنظیم کنیم. برای انجام این کار با استفاده از روش نمادین، موارد زیر را انجام می دهیم:

[tcarrigan@server article_submissions]$ chmod g+s community_content/

با استفاده از روش عددی، باید چهارمین رقم قبلی را در دستور chmod خود پاس کنیم. رقم استفاده شده مشابه ارقام مجوز استاندارد محاسبه می شود:

Start at 0

SUID = 4

SGID = 2

Sticky = 1

در اینجا دستور تنظیم SGID روی Community_content با استفاده از روش عددی آمده است:

[tcarrigan@server article_submissions]$ chmod 2770 community_content/

stickybit چیست ؟

در واقع سطح دسترسی sticky bit ، سطح دسترسی است که بر روی یک folder یا پوشه اعمال می شود و فقط به مالک یا owner فایل ها اجازه می دهد که تغییراتی که می خواهند را بر روی فایل مورد نظرشان اعمال کنند و نمی توانند کوچکترین تغییری بر روی فایل های دیگران در عین اینکه دسترسی به نظر 777 است اعمال کنند. تنها کاربر root در چنین مواقعی امکان حذف و یا تغییر دادن فایل های دیگران را خواهد داشت.

Sticky bit در واقع یک مکانیزم امنیتی در سیستم عامل لینوکس است که از حذف کردن فایل ها توسط کاربران غیرمجاز در پوشه های حساس این سیستم عامل جلوگیری می کند ، در عین حال که کاربر دسترسی کامل برای ایجاد کردن و حذف کردن و ویرایش کردن فایل های خودش دارد ، در عین حال به هیچ یک از فایل های سایر کاربران دسترسی نخواهد داشت. بصورت پیشفرض sticky bit بر روی پوشه tmp در لینوکس فعال شده است.

چگونه می توانیم sticky bit را بر روی یک پوشه فعال کنیم ؟

chmod o+t ~/Desktop/test

یا

chmod 1757 ~/Desktop/test

Categorized in: