becool

20210805 (목) ansible 실습3 본문

ansible

20210805 (목) ansible 실습3

gusalstm 2021. 8. 5. 18:56
반응형

sudoers.d/ansible 추가시 permission denied. 문제발생

wheel 그룹 추가로 대신함 

  → $ usermod -a -G wheel ansible_user01

 


[user@ansible-server project1]$ cat 0805_q2.yaml
---
- name: Q2
  hosts: control, servers
  become: true

  tasks:
  - name: create a user
    user:
      name: ansible_user01
      state: present
      uid: 2000
      password: "{{ 'ansiblepass!' | password_hash('sha512') }}"
    register: result_user
  - name: print password
    debug:
      msg: "{{ result_user }}"

[user@ansible-server project1]$ cat 0805_q3.yaml
---
- name: Q3
  hosts: control, servers
  become: true

  tasks:
  - name: enable public key authentication
    authorized_key:
      user: ansible_user01
      state: present
#     key: ~/.ssh/id_rsa.pub
      key: "{{ lookup('file', '/home/user/.ssh/id_rsa.pub') }}"
[user@ansible-server project1]$ cat 0805_q4.yaml
---
- name: Q4
  hosts: all
  become: true

  tasks:
  - name: create directory
    file:
      dest: /etc/sudoers.d/
      state: directory
      mode: "0600"

  - name: edit sudoers file
    copy:
      dest: /etc/sudoers.d/ansible
      content: ansible_user01 ALL=(ALL) NOPASSWD:ALL
[user@ansible-server project1]$ cat 0805_q5.yaml
---
- name: Q5
  hosts: all
  become: true

  tasks:
  - name: create a configuration file
    copy:
      dest: /home/ansible_user01/project1/ansible.cfg
      recurse: true
      content:
      - inventory: ./inventory.ini
      - remote_user: ansible_user01
      -
[user@ansible-server project1]$ cat 0805_q6.yaml
---
- name: Q6_web
  hosts: webservers
  become: true
  vars:
    web_package: httpd
    firewall_package: firewalld
    php_package: php
    web_service: httpd
    firewall_service: firewalld
    web_svc_name: http

  tasks:
  - name: "install {{ web_package }}"
    yum:
      name: "{{ web_package }}"
      state: latest
  - name: "install {{ firewall_package }}"
    yum:
      name: "{{ firewall_package }}"
      state: latest
  - name: "install {{ php_package }}"
    yum:
      name: "{{ php_package }}"
      state: latest

  - name: "enable {{ web_service }}"
    service:
      name: "{{ web_service }}"
      state: started
  - name: "enable {{ firewall_service }}"
    service:
      name: "{{ firewall_service }}"
      state: started

  - name: "allow {{ web_service }}"
    firewalld:
      service: "{{ web_svc_name }}"
      state: enabled
      permanent: true
      immediate: true

- name: Q6_db
  hosts: dbservers
  vars:
    db_package: mariadb-server
    firewall_package: firewalld
    db_service: mariadb
    firewall_service: firewalld
    db_svc_name: mysql
  become: true

  tasks:
  - name: "install {{ firewall_package }}"
    yum:
      name: "{{ firewall_package }}"
      state: latest
  - name: "install {{ db_package }}"
    yum:
      name: "{{ db_package }}"
      state: latest
  - name: "enable {{ firewall_service }}"
    service:
      name: "{{ firewall_service }}"
      state: started
  - name: "enable {{ db_service }}"
    service:
      name: "{{ db_service }}"
      state: started

  - name: "allow {{ db_service }}"
    firewalld:
      service: "{{ db_svc_name }}"
      state: enabled
      permanent: true
      immediate: true
[user@ansible-server project1]$

728x90
Comments