Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
c0059510d8 | |||
3bbc6bb2cf | |||
b79bd4d2d7 | |||
177ba579e9 | |||
a550c49dec | |||
ef9cfb8ced | |||
0a845c7097 | |||
0eb60eb187 | |||
1cbbba0dea |
5 changed files with 63 additions and 5 deletions
|
@ -30,6 +30,8 @@ ensure_ansible_version: 2.10.3
|
|||
enable_sudo: yes
|
||||
# Allow passwordless sudo (applied to group wheel)
|
||||
enable_passwordless_sudo: yes
|
||||
# Skip provisioning of the firewall
|
||||
skip_firewall: no
|
||||
```
|
||||
|
||||
Dependencies
|
||||
|
|
|
@ -17,4 +17,11 @@ ensure_ansible_version: 2.10.3
|
|||
# Allow sudo with a password (applied to group sudo)
|
||||
enable_sudo: yes
|
||||
# Allow passwordless sudo (applied to group wheel)
|
||||
enable_passwordless_sudo: yes
|
||||
enable_passwordless_sudo: yes
|
||||
# Allow root to connect through SSH
|
||||
enable_ssh_for_root: yes
|
||||
# Allow root to connect only using public key authentication, no password
|
||||
enable_ssh_for_root_prohibit_password: no
|
||||
# Skip provisioning of the firewall
|
||||
skip_firewall: no
|
||||
authorized_keys_are_exclusive: false # Be careful, this will delete non-Ansible-managed authorized keys from the target!
|
|
@ -1,2 +1,7 @@
|
|||
---
|
||||
# handlers file for common
|
||||
# handlers file for common
|
||||
- name: Restart SSH
|
||||
ansible.builtin.service:
|
||||
name: ssh
|
||||
state: restarted
|
||||
become: true
|
|
@ -12,10 +12,13 @@
|
|||
import_role:
|
||||
name: geerlingguy.firewall
|
||||
tags: firewall
|
||||
when: not skip_firewall
|
||||
|
||||
- include: locales-debian.yml
|
||||
become: true
|
||||
when: ansible_facts['os_family'] == 'Debian'
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'Debian'
|
||||
- not ansible_is_chroot
|
||||
|
||||
- include: users.yml
|
||||
become: true
|
||||
|
|
|
@ -11,6 +11,14 @@
|
|||
groups: users
|
||||
with_items: "{{ users }}"
|
||||
|
||||
- name: 'Add docker users'
|
||||
user:
|
||||
name: "{{ item }}"
|
||||
groups: docker
|
||||
append: yes
|
||||
with_items: "{{ docker_users }}"
|
||||
when: docker_users | count
|
||||
|
||||
- block:
|
||||
- name: 'Ensure that sudo group is existing'
|
||||
group:
|
||||
|
@ -44,8 +52,9 @@
|
|||
user: "{{ item }}"
|
||||
state: present
|
||||
key: "{{ lookup('file', 'public_keys/id_{{ item }}.pub') }}"
|
||||
exclusive: "{{ authorized_keys_are_exclusive | bool }}"
|
||||
with_items: "{{ users }}"
|
||||
ignore_errors: yes
|
||||
ignore_errors: true
|
||||
|
||||
- block:
|
||||
- name: 'Ensure that wheel group is existing'
|
||||
|
@ -71,6 +80,38 @@
|
|||
files:
|
||||
- /etc/sudoers
|
||||
- /usr/local/etc/sudoers # e.g. FreeBSD
|
||||
|
||||
- name: 'Disable SSH for root'
|
||||
lineinfile:
|
||||
dest: "/etc/ssh/sshd_config"
|
||||
state: present
|
||||
regexp: '^#?\s*PermitRootLogin'
|
||||
line: 'PermitRootLogin No'
|
||||
notify: Restart SSH
|
||||
when:
|
||||
- enable_ssh_for_root | bool == false
|
||||
|
||||
- name: 'Enable SSH for root through password or key'
|
||||
lineinfile:
|
||||
dest: "/etc/ssh/sshd_config"
|
||||
state: present
|
||||
regexp: '^#?\s*PermitRootLogin'
|
||||
line: 'PermitRootLogin Yes'
|
||||
notify: Restart SSH
|
||||
when:
|
||||
- enable_ssh_for_root | bool == true
|
||||
- enable_ssh_for_root_prohibit_password | bool == false
|
||||
|
||||
- name: 'Enable SSH for root through key only'
|
||||
lineinfile:
|
||||
dest: "/etc/ssh/sshd_config"
|
||||
state: present
|
||||
regexp: '^#?\s*PermitRootLogin'
|
||||
line: 'PermitRootLogin prohibit-password'
|
||||
notify: Restart SSH
|
||||
when:
|
||||
- enable_ssh_for_root | bool == true
|
||||
- enable_ssh_for_root_prohibit_password | bool == true
|
||||
when:
|
||||
- enable_sudo
|
||||
- enable_passwordless_sudo
|
||||
|
@ -82,4 +123,4 @@
|
|||
mode: 0644
|
||||
owner: "{{ item }}"
|
||||
group: "{{ item }}"
|
||||
with_items: "{{ users }}"
|
||||
with_items: "{{ users }}"
|
||||
|
|
Loading…
Add table
Reference in a new issue