실습 Playbook 작성 실습 - Unix(Solaris 10)에 로컬 사용자 생성
페이지 정보
작성자 snow 작성일 23-11-16 15:27 조회 1,950 댓글 0본문
1. 개요
이 게시글은 Solaris OS 10 버전에 사용자 생성 및 그룹 부여하는 간단한 Ansible 플레이북이며,
작업을 실행한 후 성공적으로 설정되었는지 알려주는 플레이북 입니다.
2. Playbook
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
---
- name: Solaris 테스트 플레이북
hosts: solaris10
gather_facts: false
# User & group
- name: 그룹 추가
group:
name: new_group
gid: 4321
state: present
- name: 사용자 추가
user:
name: new_user
home: /export/home/new_user
state: present
shell: /bin/bash
uid: 4320
group: new_group
password: "{{ 'new_password' | password_hash('sha512') }}"
- name: 사용자와 그룹 확인
command: id new_user
register: user_info
- name: 정상적으로 설정되었는지 확인
assert:
that:
- "'uid=4320(new_user)' in user_info.stdout"
- "'gid=4321(new_group)' in user_info.stdout"
success_msg: "사용자와 그룹이 정상적으로 설정되었습니다."
fail_msg: "사용자와 그룹 설정이 실패하였습니다."
- name: 사용자 삭제
user:
name: new_user
state: absent
- name: 그룹 삭제
group:
name: new_group
state: absent
|
cs |
3. 각 작업 설명
3.1. "그룹 추가" Task:
- 이름이 "new_group"이고, 그룹 ID가 4321인 그룹을 추가합니다.
- 상태를 "present"로 설정하여, 그룹이 존재하지 않을 경우에만 추가합니다.
3.2. "사용자 추가" Task:
- 이름이 "new_user"인 사용자를 추가합니다.
- 사용자의 홈 디렉토리는 "/export/home/new_user"로 설정되고, 쉘은 "/bin/bash"로 지정됩니다.
- UID는 4320으로 설정되며, 그룹은 "new_group"으로 지정됩니다.
- 패스워드는 "{{ 'new_password' | password_hash('sha512') }}"로 설정됩니다.
3.3. "사용자와 그룹 확인" Task:
- "id new_user" 명령을 실행하여 사용자와 그룹 정보를 확인합니다.
- 결과는 "user_info"라는 변수에 등록됩니다.
3.4. "정상적으로 설정되었는지 확인" Task:
- "user_info.stdout"에 'uid=4320(new_user)' 및 'gid=4321(new_group)'가 포함되어 있는지 확인합니다.
- 확인 결과에 따라 메시지가 출력됩니다. 설정이 정상적으로 이루어졌을 경우 "사용자와 그룹이 정상적으로 설정되었습니다."라는 성공 메시지가 출력되고, 설정이 실패한 경우 "사용자와 그룹 설정이 실패하였습니다."라는 실패 메시지가 출력됩니다.
3.5. "사용자 삭제" Task:
- 이름이 "new_user"인 사용자를 삭제합니다.
- 상태를 "absent"로 설정하여, 사용자가 존재할 경우에만 삭제합니다.
3.6."그룹 삭제" Task:
- 이름이 "new_group"인 그룹을 삭제합니다.
- 상태를 "absent"로 설정하여, 그룹이 존재할 경우에만 삭제합니다.
4. 결과 확인
PLAY [Solaris 테스트 플레이북] ********************************************************************************************************************************************************************************************************************
TASK [그룹 추가] *******************************************************************************************************************************************************************************************************************************
changed: [solaris10]
TASK [사용자 추가] ******************************************************************************************************************************************************************************************************************************
changed: [solaris10]
TASK [사용자와 그룹 확인] **************************************************************************************************************************************************************************************************************************
changed: [solaris10]
TASK [정상적으로 설정되었는지 확인] *********************************************************************************************************************************************************************************************************************
ok: [solaris10] => {
"changed": false,
"msg": "사용자와 그룹이 정상적으로 설정되었습니다."
}
TASK [사용자 삭제] ******************************************************************************************************************************************************************************************************************************
changed: [solaris10]
TASK [그룹 삭제] *******************************************************************************************************************************************************************************************************************************
changed: [solaris10]
PLAY RECAP *********************************************************************************************************************************************************************************************************************************
solaris10 : ok=1 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
댓글목록 0
등록된 댓글이 없습니다.