6.3. Ansible 플레이북을 사용하여 IdM 사용자의 기본 쉘 구성
쉘은 명령을 수락 및 해석하는 프로그램입니다. RHEL(Red Hat Enterprise Linux), bash
,ksh
, zsh ,zsh
,fish
등 다양한 쉘을 사용할 수 있습니다.
Bash
, /bin/bash
는 대부분의 Linux 시스템에서 널리 사용되는 쉘이며, RHEL의 사용자 계정의 기본 쉘입니다.
다음 절차에서는 Ansible 플레이북을 사용하여 IdM 사용자의 기본 쉘로 대체 쉘을 구성하는 방법을 설명합니다.
사전 요구 사항
제어 노드에서 다음을 수행합니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장한다고 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
-
선택 사항:
retrieve-config.yml
Ansible 플레이북을 사용하여 IdM 사용자의 현재 쉘을 식별합니다. 자세한 내용은 Ansible 플레이북을 사용하여 IdM 구성 검색에서 참조하십시오. 인벤토리 파일(예:
inventory.file
)을 생성하고ipaserver
를 이 파일에 정의합니다.[ipaserver] server.idm.example.com
편집할
/usr/share/doc/ansible-freeipa/playbooks/config/ensure-config-options-are-set.yml
Ansible 플레이북 파일을 엽니다.--- - name: Playbook to ensure some config options are set hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Set defaultlogin and maxusername - ipaconfig: ipaadmin_password: "{{ ipaadmin_password }}" defaultshell: /bin/bash maxusername: 64
다음을 변경하여 파일을 조정합니다.
-
ipaadmin_password
변수에서 설정한 IdM 관리자의 암호입니다. -
기본shell 변수로 설정한 IdM 사용자의
기본 쉘은
/bin/sh
로 설정합니다.
-
- 파일을 저장합니다.
Ansible 플레이북을 실행합니다. 플레이북 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/config/ensure-config-options-are-set.yml
검증
IdM에서 새 세션을 시작하여 기본 사용자 쉘이 변경되었는지 확인할 수 있습니다.
IdM 관리자로
ipaserver
에 로그인합니다.$ ssh admin@server.idm.example.com Password: [admin@server /]$
현재 쉘을 표시합니다.
[admin@server /]$ echo "$SHELL" /bin/sh
로그인한 사용자는
sh
쉘을 사용합니다.