35.12. Ansible을 사용하여 IdM 사용자가 특정 UID가 있는 ID 뷰에 있는지 확인
자체 컴퓨터가 있지만 /home/
디렉터리가 서버에서 내보낸 공유 드라이브에 있는 랩에서 작업하는 경우 다음 두 명의 사용자가 있을 수 있습니다.
- 시스템 전체 사용자이며 IdM(Identity Management)에 중앙에 저장됩니다.
- 계정이 로컬인 경우 해당 시스템에 저장됩니다.
IdM 사용자로 로그인했는지 또는 로컬 사용자로 로그인했는지 여부에 관계없이 파일에 대한 전체 액세스 권한이 필요한 경우 두 사용자에게 동일한 UID
를 부여하여 이를 수행할 수 있습니다.
ansible-freeipa
idoverrideuser
모듈을 사용하려면 다음 절차를 완료합니다.
- idview_for_host01 이라는 ID 보기를 host01에 적용합니다.
-
idview_for_host01에서
UID
가 20001 인 idm_user에 대한 사용자 ID 덮어쓰기가 있는지 확인합니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - RHEL 8.10 이상을 사용하고 있습니다.
- 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장하는 것으로 가정합니다.
- idview_for_host1 ID 뷰가 있습니다.
절차
Ansible 제어 노드에서 다음 콘텐츠를 사용하여 ensure-idmuser-and-local-user-have-access-to-same-files.yml 플레이북을 생성합니다.
--- - name: Ensure both local user and IdM user have access to same files hosts: ipaserver become: false gather_facts: false tasks: - name: Ensure idview_for_host1 is applied to host1.idm.example.com ipaidview: ipaadmin_password: "{{ ipaadmin_password }}" name: idview_for_host01 host: host1.idm.example.com - name: Ensure idmuser is present in idview_for_host01 with the UID of 20001 ipaidoverrideuser: ipaadmin_password: "{{ ipaadmin_password }}" idview: idview_for_host01 anchor: idm_user UID: 20001
- 파일을 저장합니다.
플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory ensure-idmuser-and-local-user-have-access-to-same-files.yml
추가 리소스
-
ansible-freeipa
업스트림 문서의 idoverrideuser 모듈