1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- ---
- - name: Install Python without using Ansible modules
- raw: >
- bash -c "test -e /usr/bin/python3 ||
- (test -e /usr/bin/yum && yum install -y python3) ||
- (apt install -y python3 python-apt) ||
- grep -i LibreELEC /etc/os-release"
- changed_when: false
- - name: Gather facts now that Python is installed
- setup:
- - name: Install sudo and lsb (RPM)
- package:
- name:
- - sudo
- - "{% if ansible_distribution_major_version != '9' %}redhat-lsb-core{% else %}python3-libselinux{% endif %}"
- state: present
- when:
- - ansible_distribution == 'CentOS' or ansible_distribution == 'Fedora'
- - name: Install sudo and lsb (DEB)
- package:
- name:
- - sudo
- - lsb-release
- state: present
- when:
- - ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- - name: Install SELinux Python Modules (Fedora)
- package:
- name:
- - python3-libselinux
- state: present
- when:
- - ansible_distribution == 'Fedora'
- - name: Gather facts again now that lsb is installed
- setup:
- - name: Creating ansible user
- user:
- name: ansible
- state: present
- shell: /bin/bash
- uid: "{{ ansible_uid }}"
- create_home: yes
- when:
- - ansible_os_family != 'LibreELEC'
- - name: Adding ansible as a sudoer
- copy:
- src: 10_ansible
- dest: /etc/sudoers.d/10_ansible
- owner: root
- group: root
- mode: '0640'
- when:
- - ansible_os_family != 'LibreELEC'
- - import_role:
- name: common
- - name: Ensure only key-based SSH logins are allowed
- lineinfile:
- path: /etc/ssh/sshd_config
- regexp: '^PasswordAuthentication'
- line: 'PasswordAuthentication no'
- state: present
- notify:
- - Restart sshd
- when:
- - ansible_os_family != 'LibreELEC' # / is mounted RO in LibreELEC
|