practice makes perfect

Ansible 을 통한 계정 추가 및 패스워드 변경 본문

Ansible

Ansible 을 통한 계정 추가 및 패스워드 변경

후니옹 2019. 10. 12. 12:45

Ansible 을 통한 계정 추가 및 패스워드 변경

 

  • 관리자는 특정 기간마다 보안을 위해 계정추가 및 패스워드를 변경한다
  • 서버가 몇대 안된다면 굳이 상관없지만 수십 또는 수백대 서버에서 작업이 필요할 수 있다
  • Ansible을 통하여 좀 더 편하게 작업해 보자

 

[사용법]

 

# 계정추가테스트 진행

[root@ip-10-10-10-183 ansible]# ansible all -m user -a "name=myunghoon" -u ec2-user

testserver | FAILED! => {

    "changed": false,

    "cmd": "/usr/sbin/useradd -m myunghoon",

    "msg": "[Errno 13] Permission denied",

    "rc": 13

}

위 내용은 현재 호스트 접근 계정인 ec2-user에 대한 sudo 권한이 없기 때문에 Error 발생

 

# vim ansible.cfg 파일 수정

[privilege_escalation]

become=True

become_method=sudo

become_user=root

#become_ask_pass=False

 

 

# 다시 계정 생성 테스트

[root@ip-10-10-10-183 ansible]# ansible all -m user -a "name=myunghoon" -u ec2-user

testserver | SUCCESS => {

    "changed": true,

    "comment": "",

    "create_home": true,

    "group": 501,

    "home": "/home/myunghoon",

    "name": "myunghoon",

    "shell": "/bin/bash",

    "state": "present",

    "system": false,

    "uid": 501

}

 

 


# 해당 호스트에 실제로 생성 되었는지 확인

[root@ip-10-10-30-5 ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

ec2-user:x:500:500:EC2 Default User:/home/ec2-user:/bin/bash

tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat8:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

chrony:x:498:497::/var/lib/chrony:/sbin/nologin

myunghoon:x:501:501::/home/myunghoon:/bin/bash



# ansible 서버에서도 확인 가능

[root@ip-10-10-10-183 ansible]# ansible all -m shell -a "tail -n 1 /etc/passwd" -u ec2-user

testserver | SUCCESS | rc=0 >>

myunghoon:x:501:501::/home/myunghoon:/bin/bash

 


# 패스워드 추가 변경

[root@ip-10-10-10-183 ansible]# ansible all -m user -a "name=myunghoon update_password=always password={{ 'passwordda' | password_hash('sha512') }}" -u ec2-user

testserver | SUCCESS => {

    "append": false,

    "changed": true,

    "comment": "",

    "group": 501,

    "home": "/home/myunghoon",

    "move_home": false,

    "name": "myunghoon",

    "password": "NOT_LOGGING_PASSWORD",

    "shell": "/bin/bash",

    "state": "present",

    "uid": 501

}

 

'Ansible' 카테고리의 다른 글

AWX Module 확인  (0) 2024.05.06
AWX(Tower) 관리 작업  (0) 2024.05.06
Ansible Handlers  (0) 2024.05.06
Ansible Vault  (1) 2020.12.13
Ansible 란 ?  (0) 2019.10.12
Comments