32.3. SELinux 사용자 및 IdM 사용자 매핑
SELinux 맵은 로컬 시스템의 SELinux 사용자 컨텍스트를 도메인 내에서 IdM 사용자 또는 사용자와 연결합니다. SELinux 맵에는 SELinux 사용자 컨텍스트 및 IdM 사용자 호스트 쌍의 세 부분이 있습니다. IdM 사용자-호스트 쌍은 두 가지 방법 중 하나로 정의할 수 있습니다. 즉, 명시적 사용자를 위해 설정하거나 명시적 호스트 또는 호스트 그룹에서 사용자 그룹을 설정하거나 호스트 기반 액세스 제어 규칙을 사용하여 정의할 수 있습니다.
32.3.1. 웹 UI에서
- 상단 메뉴에서 Policy main 탭과 SELinux User Mappings 를 클릭합니다.
- 매핑 목록에서버튼을 클릭하여 새 맵을 생성합니다.
- 맵 이름과 SELinux 사용자를 입력합니다. SELinux 사용자의 형식은 IdM 서버 구성에 표시되는 방식과 동일해야 합니다. SELinux 사용자의 형식은 SELinux_user:MLS[:MCS] 입니다.
- 호스트 기반 액세스 제어 규칙을 설정하려면 구성의 일반 영역에 있는 드롭다운 메뉴에서 규칙을 선택합니다. 호스트 기반 액세스 제어 규칙을 사용하면 원격 사용자가 대상 시스템에 액세스하는 데 사용할 수 있는 호스트에 대한 액세스 제어가 가능합니다. 호스트 기반 액세스 제어 규칙은 하나만 할당할 수 있습니다.참고호스트 기반 액세스 제어 규칙에는 서비스가 아닌 사용자와 호스트가 포함되어야 합니다.또는 사용자 및 호스트 영역을 아래로 스크롤하고 추가 링크를 클릭하여 사용자, 사용자 그룹, 호스트 또는 호스트 그룹을 SELinux 맵에 할당합니다.왼쪽에서 사용자 (또는 호스트 또는 그룹)를 선택하고 오른쪽 화살표 버튼 (> )을 클릭하여 Prospective 열로 이동한 다음 버튼을 클릭하여 규칙에 추가합니다.참고하나의 옵션만 사용할 수 있습니다. 호스트 기반 액세스 제어 규칙을 제공하거나 사용자 및 호스트를 수동으로 설정할 수 있습니다. 두 옵션을 동시에 사용할 수 없습니다.
- 상단에서 Update 링크를 클릭하여 SELinux 사용자 맵에 변경 사항을 저장합니다.
32.3.2. CLI에서
SELinux 맵 규칙에는 다음 세 가지 기본 부분이 있습니다.
- SELinux 사용자:
--selinuxuser
- SELinux 사용자와 연결된 사용자 또는 사용자 그룹:
--users
또는--groups
- SELinux 사용자와 연결된 호스트 또는 호스트 그룹:
--hosts
또는--hostgroups
- 또는 호스트 및 사용자 모두를 지정하는 호스트 기반 액세스 제어 규칙:
--hbacrule
selinuxusermap-add 명령을 사용하여 한 번에 모든 정보를 사용하여 규칙을 만들 수 있습니다. 각각 selinuxusermap-add-user 및 selinuxusermap-add-host 명령을 사용하여 사용자 및 호스트를 생성한 후 규칙에 추가할 수 있습니다.
예 32.3. 새 SELinux 맵 생성
--selinuxuser
값은 IdM 서버 구성에 표시되는 대로 SELinux 사용자 이름이어야 합니다. SELinux 사용자의 형식은 SELinux_user:MLS[:MCS] 입니다.
SELinux 매핑이 유효하려면 사용자 또는 사용자 그룹 및 호스트 또는 호스트 그룹을 지정해야 합니다. 사용자, 호스트 및 그룹 옵션은 여러 번 사용하거나 중괄호 안에 쉼표로 구분된 목록으로 한 번 사용할 수 있습니다(예: --option={val1,val2,val3} ).
[user1@server ~]$ ipa selinuxusermap-add --selinuxuser="xguest_u:s0" selinux1 [user1@server ~]$ ipa selinuxusermap-add-user --users=user1 --users=user2 --users=user3 selinux1 [user1@server ~]$ ipa selinuxusermap-add-host --hosts=server.example.com --hosts=test.example.com selinux1
예 32.4. 호스트 기반 액세스 제어 규칙을 사용하여 SELinux 맵 생성
--hbacrule
값은 매핑에 사용할 호스트 기반 액세스 제어 규칙을 식별합니다. 호스트 기반 액세스 제어 규칙을 사용하면 원격 사용자가 대상 시스템에 로그인한 후 SELinux 컨텍스트를 적용하는 데 사용할 수 있는 호스트에 대한 액세스 제어가 가능합니다.
액세스 제어 규칙은 SELinux 맵에서 SELinux 사용자, IdM 사용자 및 호스트 위임을 구성할 수 있도록 사용자와 호스트를 적절하게 지정해야 합니다.
호스트 기반 액세스 제어 규칙은 하나만 지정할 수 있습니다.
[user1@server ~]$ ipa selinuxusermap-add --hbacrule=webserver --selinuxuser="xguest_u:s0" selinux1
호스트 기반 액세스 제어 규칙은 31장. 호스트 기반 액세스 제어 구성 에 설명되어 있습니다.
예 32.5. SELinux 맵에 사용자 추가
사용자와 호스트는 이미 존재하는 맵에 추가할 수 있습니다. 이 작업은 특정 명령인 selinuxusermap-add-user 또는 selinuxusermap-add-host 를 사용하여 수행됩니다.
[user1@server ~]$ ipa selinuxusermap-add-user --users=user1 selinux1
selinuxusermap-mod 명령을
--hbacrule
옵션과 함께 사용하여 기존 SELinux 맵을 수정하는 경우 새 SELinux 맵은 이전 SELinux 맵을 덮어씁니다.
예 32.6. SELinux 맵에서 사용자 제거
특정 사용자 또는 호스트는 selinuxusermap-remove-host 또는 selinuxusermap-remove-user 명령을 사용하여 SELinux 맵에서 제거할 수 있습니다. 예를 들어 다음과 같습니다.
[user1@server ~]$ ipa selinuxusermap-remove-user --users=user2 selinux1