Name
Last commit
Last update
..
.gitkeep ansible, 2021-03-08, update16
README.md file_copy init

logo

Ansible의 copy 모듈을 이용한 파일 가져오기

원격 시스템에 디렉토리 및 파일을 복사한다.

활용 용도

  • FTP를 사용하지않고, 원격서버에 디렉토리 및 파일을 복사할 수 있다.
  • 보안취약점 스크립트를 원격서버에 업로드하는 용도로 사용

Inventory 설정

# cat hosts
[ALL_HOSTS]
172.16.0.100 managed_ip=172.16.0.100 des="2020-12-03"

[ALL_HOSTS_OK]

대상 호스트는 172.16.0.100이며, 추가는 2020-12-03에 수행한다. 참고적으로 ALL_HOSTS_OK 호스트 그룹은 작업이 완료된 호스트의 history를 위한 그룹이다.

Host Variables 설정

# cat host_vars/172.16.0.100
ansible_ssh_host: 172.16.0.100
ansible_ssh_port: SSH_포트번호
ansible_ssh_user: 사용자 아이디
ansible_ssh_pass: "사용자 패스워드"
ansible_become: yes
ansible_become_method: su
ansible_become_user: root
ansible_become_pass: "!root_패스워드"
ansible_python_interpreter: python2.7

Playbook 설정

---
- name: OS Secure Running
  hosts: ALL_HOSTS
  tasks:
    - name: Directory Create
      file:
        path: "{{ item }}"
        state: directory
        owner: 'root'
        group: 'root'
        mode: 0700
      with_items:
        - /root/test

    - name: Secure Script File Copy
      copy:
        src: "{{ item }}"
        dest: /root/test
        owner: 'root'
        group: 'root'
        mode: 0700
        #attr: i
      with_items:
       - secure.sh
       - test.sh

File copy에 대한 Playbook 분석

playbook 실행

# ansible-playbook -i hosts file_copy.yml