Processes and files are labeled whith an SELinux context that contains additional information, such as an SELinux user, role, type, and optionally, a level.
When running SELinux, all of this information is used to make access control decisions.
مولفههای اصلی SELinux به شرح زیر است.
SELinux User : این مولفهی برای تعیین کاربر مورد استفاده قرار میگیرد.
SELinux Role : این مولفه برای تعیین شغل یا سمت کاربر مورد استفاده قرار میگیرد.
SELinux Type : این مولفه به طور خاص به وظایف و اختیارات مولفهی Role یا همان شغل یا سمت ، میپردازد.
SELinux Type : پیشنهاد میشود از این مولفه استفاده نکنید مگر در زمانی که بخواهید استفادهی حداکثری از SELinux کنید.
به عنوان مثال کاربر مهدی (SElinux User) با سمت مدرسی (SElinux role) میتواند یک سری از وظایف (SELinux Type) مثل برگزاری کلاس ، تهیهی سرفصلها و … را انجام دهد. لازم به ذکر است که کاربر مهدی نمیتواند کارهایی را انجام دهد که در شرح وظایف دیگر سمتها است.
به عنوان مثالی دیگر ، کاربر مهدی (SELinux User) علاوه بر سمت مدرسی ، سمت مدیریتی نیز دارد. لذا میتواند یک سری از وظایف (SELinux Type) مثل تخصیص بودجه ، استخدام و … را انجام دهد.
SELinux user متفاوت از کاربر سیستمی در لینوکس میباشد.
معمولا SELinux user با پسوند u_ نام برده میشوند. به عنوان مثال sysadm_u
معمولا SELinux role با پسوند r_ نام برده میشود.
به عنوان مثال sysadm_r : این Role برای sys admin ها در نظر گرفته میشود تا کارهای سیستم را انجام دهند.
به عنوان مثال staff_r : این Role برای کاربران یا اپراتورها در نظر گرفته میشود.
به عنوان مثال user_r : این Role برای کاربران عادی در نظر گرفته میشود.
به عنوان مثال system_r : با استفاده از این Role دسترسی بیشتری نیست به Role قبلی میسر میگردد یعنی مثلا میتوان سرویسها را راهاندازی مجدد کرد و …
به عنوان مثال unconfined_r : با استفاده از این Role تقریبا هر کاری را در سیستم میتوان انجام داد.