Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. SELinux에서 제한된 비관리자 역할

SELinux에서 제한된 비관리자 역할은 특정 권한 및 권한을 부여하여 사용자에게 할당된 Linux 사용자에게 특정 작업을 수행할 수 있는 권한을 부여합니다. 제한된 별도의 관리자가 아닌 역할을 할당하면 개별 사용자에게 특정 권한을 할당할 수 있습니다. 이는 각각 다른 수준의 권한 부여를 가진 여러 사용자가 있는 시나리오에서 유용합니다.

시스템에서 관련 SELinux 부울을 변경하여 SELinux 역할의 권한을 사용자 지정할 수도 있습니다. SELinux 부울 및 해당 현재 상태를 보려면 semanage boolean -l 명령을 root로 사용합니다. selinux-policy-devel 패키지를 설치하는 경우 자세한 설명을 얻을 수 있습니다.

# semanage boolean -l
SELinux boolean                State  Default Description
...
xguest_connect_network         (on   ,   on)  Allow xguest users to configure Network Manager and connect to apache ports
xguest_exec_content            (on   ,   on)  Allow xguest to exec content
...

SELinux 정책에서 허용하는 경우 user_t,guest_t, xguest_t 도메인의 Linux 사용자는 설정된 사용자 ID(setuid) 애플리케이션만 실행할 수 있습니다(예: passwd). 이러한 사용자는 setuid 애플리케이션 susudo 를 실행할 수 없으므로 이러한 애플리케이션을 사용하여 root가 될 수 없습니다.

기본적으로 staff_t,user_t,guest_txguest_t 도메인의 Linux 사용자는 홈 디렉토리 및 /tmp 에서 애플리케이션을 실행할 수 있습니다. 애플리케이션은 이를 실행한 사용자의 권한을 상속합니다.

guest_txguest_t 사용자가 쓰기 액세스 권한이 있는 디렉터리에서 애플리케이션을 실행하지 않으려면 guest_exec_contentxguest_exec_content 부울을 off 로 설정합니다.

SELinux에는 다음과 같은 제한된 관리자가 아닌 역할이 있으며 각각 특정 권한 및 제한이 있습니다.

guest_r

매우 제한된 권한이 있습니다. 이 역할에 할당된 사용자는 네트워크에 액세스할 수 없지만 /tmp/home 디렉토리에서 파일을 실행할 수 있습니다.

관련 부울:

SELinux boolean                State  Default Description
guest_exec_content             (on   ,   on)  Allow guest to exec content
xguest_r

제한된 권한이 있습니다. 이 역할에 할당된 사용자는 X Window에 로그인하고 네트워크 브라우저를 사용하여 웹 페이지에 액세스하며 미디어에 액세스할 수 있습니다. 또한 /tmp/home 디렉토리에서 파일을 실행할 수도 있습니다.

관련 부울:

SELinux boolean                State  Default Description
xguest_connect_network         (on   ,   on)  Allow xguest users to configure Network Manager and connect to apache ports
xguest_exec_content            (on   ,   on)  Allow xguest to exec content
xguest_mount_media             (on   ,   on)  Allow xguest users to mount removable media
xguest_use_bluetooth           (on   ,   on)  Allow xguest to use blue tooth devices
user_r

전체 사용자 권한으로 권한이 없는 액세스 권한을 갖습니다. 이 역할에 할당된 사용자는 관리 권한이 필요하지 않은 대부분의 작업을 수행할 수 있습니다.

관련 부울:

SELinux boolean                State  Default Description
unprivuser_use_svirt           (off  ,  off)  Allow unprivileged user to create and transition to svirt domains.
staff_r

user_r 및 추가 권한과 유사한 권한이 있습니다. 특히 이 역할에 할당된 사용자는 sudo 를 실행하여 일반적으로 root 사용자로 예약된 관리 명령을 실행할 수 있습니다. 이 명령은 역할 및 유효 사용자 ID(EUID)를 변경하지만 SELinux 사용자는 변경하지 않습니다.

관련 부울:

SELinux boolean                State  Default Description
staff_exec_content             (on   ,   on)  Allow staff to exec content
staff_use_svirt                (on   ,   on)  allow staff user to create and transition to svirt domains.

추가 리소스

  • sudo 에 대한 자세한 내용은 sudo 액세스 관리를 참조하십시오.
  • Linux 사용자를 staff_u 에 매핑하고 sudo 를 구성하려면 sudo 및 sysadm_r 역할을 사용하여 관리자 관계를 참조하십시오.
  • 각 역할 및 관련 유형에 대한 자세한 내용은 selinux-policy-doc 패키지로 설치된 관련 도움말 페이지를 참조하십시오.

    • guest_selinux(8)
    • xguest_selinux(8)
    • user_selinux(8)
    • staff_selinux(8)