15. 사용자 계정 만들기
문제 15)
- http://rhgls.domain1.example.com/materials/user_list2.yml에서 생성할 사용자 목록을
다운로드하여 /home/matthew/ansible에 저장합니다.
- 이전에 생성한 비밀번호 보관함인 /home/matthew/ansible/locker.yml을 사용하여
/home/matthew/ansible/users.yml이라는 플레이북을 생성하여 다음과 같이 사용자 계정을 생성합니다:
- 직무가 developer인 사용자는 다음과 같이 처리됩니다:
- dev 및 test 호스트 그룹의 관리 노드에서 생성됩니다.
- pw_developer 변수에서 비밀번호를 할당받으며, 30일 후에 비밀번호가 만료되도록 설정합니다.
- 부가 그룹 devops의 멤버가 됩니다.
- 직무가 manager인 사용자는 다음과 같이 처리됩니다:
- prod 호스트 그룹의 관리 노드에서 생성됩니다.
- pw_manager 변수에서 비밀번호를 할당받으며, 30일 후에 비밀번호가 만료되도록 설정합니다.
- 부가 그룹 opsmgr의 멤버가 됩니다.
- 비밀번호는 SHA512 해시 형식을 사용해야 합니다.
- 이 플레이북은 이전에 생성한 비밀번호 파일 /home/matthew/ansible/secret.txt를 사용하여 작동해야 합니다.
답 16)
- name: create user & group
hosts: all
vars_files:
- user_list.yml
- locker.yml
tasks:
- name: create group devops
group:
name: devops
state: present
when: ansible_hostname in groups['dev'] or ansible_hostname in groups['test']
- name: create devops users
user:
name: "{{ item.name }}"
password: "{{ pw_developer | password_hash('sha512') }}"
password_expire_max: 30
state: present
groups: devops
append: yes
loop: "{{ users }}"
when: (ansible_hostname in groups['dev'] or ansible_hostname in groups['test']) and item.job == "developers"
- name: create group opsmgr
group:
name: opsmgr
state: present
when: ansible_hostname in groups['prod']
- name: create opsmgr users
user:
name: "{{ item.name }}"
password: "{{ pw_manager | password_hash('sha512') }}"
password_expire_max: 30
state: present
groups: opsmgr
append: yes
loop: "{{ users }}"
when: ansible_hostname in groups['prod'] and item.job == "manager"
ansible-playbook users.yml
ansible all -m shell -a 'id node1'
ansible all -m shell -a 'id node2'
ansible all -m shell -a 'id node3'
16. cron 설정하기
문제 16)
/home/matthew/ansible/cron.yml라는 이름의 playbook을 만드세요.
이 playbook은 모든 관리 대상 호스트에서 실행되며 다음과 같이 사용자 natasha의 크론 작업을 만듭니다.
natasha는 매 2분마다 실행되고 logger "EX294 in progress"를 실행하는 크론 작업을 설정해야 합니다.
답 16)
- name: cron
hosts: all
tasks
- name: add cron
cron:
name: config cron job
minute: "*/2"
user: natasha
job: logger "EX294 in progress"
풀이과정
1. node1~3에 natasha 유저 생성하기 - 실제 시험에서는 필요 없음
useradd natasha
2. yml 파일 작성 후 실행 및 확인
ansible-playbook cron.yml
ansible all -m shell -a "crontab -u natasha -l"
'Linux > RHCE' 카테고리의 다른 글
[RHCE]시험 도움된 사이트/후기 (2) | 2025.05.31 |
---|---|
[RHCE]암호라이브러리/새 key 생성 (0) | 2025.05.31 |
[RHCE]웹 컨텐츠 디렉토리 만들기/하드웨어 보고서 생성 (0) | 2025.05.31 |
[RHCE]hosts 파일 생성/파일 내용 수정하기 (0) | 2025.05.17 |
[RHCE]LV 생성 및 적용 (0) | 2025.04.14 |