X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fbase%2Ftasks%2Fmain.yaml;h=c62d223a5f90ac3fd5903ec5f50d35642a92c702;hb=41dfd44f1520728da65e43abc6fddfb59b2fed78;hp=2831db164cf76ca6bc2f8c36dab4cb592bd5f99e;hpb=cbd5fba44a28997e0e2900b805ee82f9a73262ba;p=noc.git diff --git a/ansible/roles/base/tasks/main.yaml b/ansible/roles/base/tasks/main.yaml index 2831db1..c62d223 100644 --- a/ansible/roles/base/tasks/main.yaml +++ b/ansible/roles/base/tasks/main.yaml @@ -1,4 +1,9 @@ --- +- set_fact: + sshd_allowusers: >- + {{ [ 'root' ] | union(sshd_allowusers_group | default([])) + | union(sshd_allowusers_host | default([])) }} + - name: only allow pubkey auth for root lineinfile: dest: /etc/ssh/sshd_config @@ -6,20 +11,42 @@ line: "PermitRootLogin without-password" notify: restart ssh -- name: limit allowed users (1/2) +- name: limit allowed users (1/3) lineinfile: dest: /etc/ssh/sshd_config - regexp: "^AllowUsers" - line: "AllowUsers {{ ' '.join([ 'root' ] | union(sshd_allowusers_group | default([])) | union(sshd_allowusers_host | default([]))) }}" - when: sshd_allowusers_set | default(true) + regexp: "^#?AllowUsers" + line: "AllowUsers {{ ' '.join(sshd_allowusers) }}" + when: sshd_allowusers_set is defined and sshd_allowgroup is not defined notify: restart ssh -- name: limit allowed users (2/2) +- block: + - name: "limit allowed users (2/3): Make sure AllowUsers is not in sshd_config" + lineinfile: + dest: /etc/ssh/sshd_config + regexp: "^AllowUsers" + state: absent + + - name: "limit allowed users (2/3): Set AllowGroups in sshd_config" + lineinfile: + dest: /etc/ssh/sshd_config + regexp: "^#?AllowGroups" + line: AllowGroups {{ sshd_allowgroup }} + + - name: "limit allowed users (2/3): Add allowed users to ssh group" + user: + name: "{{ item }}" + groups: "{{ sshd_allowgroup }}" + append: True + with_items: "{{ sshd_allowusers }}" + + when: sshd_allowgroup is defined + +- name: limit allowed users (3/3) lineinfile: dest: /etc/ssh/sshd_config - regexp: "^AllowUsers" + regexp: "^Allow(Users|Groups)" state: absent - when: not sshd_allowusers_set | default(true) + when: sshd_allowusers_set is not defined and sshd_allowgroup is not defined notify: restart ssh - name: Set authorized keys for root user @@ -52,17 +79,24 @@ - ca-certificates - file - zsh + - python-apt + +- block: + - name: install systemd specific packages + apt: name={{ item }} state=present + with_items: + - dbus + - libpam-systemd + + - name: set systemd-related environment variables + copy: src=xdg_runtime_dir.sh dest=/etc/profile.d/xdg_runtime_dir.sh mode=0644 -- name: install systemd specific packages - apt: name={{ item }} state=present - with_items: - - dbus - - libpam-systemd when: ansible_service_mgr == "systemd" - name: install zshrc - copy: src={{ item.src }} dest={{ item.dest }} mode=0640 + copy: src={{ item.src }} dest={{ item.dest }} mode=0644 with_items: + - { "src": "zprofile", "dest": "/etc/zsh/zprofile" } - { "src": "zshrc", "dest": "/etc/zsh/zshrc" } - { "src": "zshrc.skel", "dest": "/etc/skel/.zshrc" }