6 Commits
1.1.0 ... 2.0.1

Author SHA1 Message Date
e797037846 Up to 1.2.1 for Galaxy action 2022-06-29 15:46:05 +02:00
92cb5bf55e Merge pull request #4 from claranet/remove_banner
Remove banner reference
2022-06-29 11:29:16 +02:00
9770e5d43c Change Centos to fedora for molecule test 2022-06-29 11:22:50 +02:00
cf7e3da48e Remove banner reference 2022-06-29 10:55:26 +02:00
dbf4d327cf split tasks 2021-10-05 11:46:18 +02:00
6a42daba46 update readme 2021-10-04 09:47:04 +02:00
11 changed files with 50 additions and 74 deletions

View File

@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: galaxy
uses: robertdebock/galaxy-action@1.1.1
uses: robertdebock/galaxy-action@1.2.1
with:
galaxy_api_key: ${{ secrets.galaxy_api_key }}

View File

@ -30,8 +30,8 @@ jobs:
config:
- image: "amazonlinux"
tag: "latest"
- image: "centos"
tag: "8"
- image: "fedora"
tag: "28"
- image: "debian"
tag: "11"
- image: "debian"

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
###VSCode###
.vscode
###MacOS###
.DS_Store

View File

@ -18,7 +18,6 @@ System info:
Hostname·········: claranet_motd_ubuntu-20.04
Distro···········: Ubuntu 20.04.3 LTS
Kernel···········: Linux 5.10.47-linuxkit
Updates available: 6 (2 security)
Uptime···········: up 2 days, 23 hours, 18 minutes
Load·············: 1.33 (1m), 0.43 (5m), 0.20 (15m)
Processes········: 13 (root), 3 (user), 16 (total)

View File

@ -1,9 +1,6 @@
---
motd_disable_default_motd: true
motd_banner_template: https://raw.githubusercontent.com/claranet/motd/master/banner
motd_template: https://raw.githubusercontent.com/claranet/motd/master/scripts/00-basic
motd_banner_template_prepend: ""
motd_banner_template_append: ""
motd_template_prepend: ""
motd_template_append: |
@ -13,5 +10,3 @@ motd_template_append: |
motd_template_username: ""
motd_template_password: ""
motd_banner_template_username: "{{ motd_template_username }}"
motd_banner_template_password: "{{ motd_template_password }}"

View File

@ -3,7 +3,6 @@
hosts: all
roles:
- role: claranet.motd
motd_banner_template: null
pre_tasks:
- name: "Update APT cache"

View File

@ -12,11 +12,6 @@ motd_file_path = "/usr/local/bin/dynmotd"
pam_line = f"session optional pam_exec.so type=open_session stdout {motd_file_path}"
def test_banner_file(host):
file = host.file("/etc/banner")
assert not file.exists
def test_motd_file(host):
file = host.file(motd_file_path)
assert file.exists

19
tasks/configure_motd.yml Normal file
View File

@ -0,0 +1,19 @@
---
- name: configure_motd | Apply template {{ motd_template }} on {{ _motd_file_path }}
copy:
content: "{{ motd_template_prepend + _motd_template_content + motd_template_append }}"
dest: "{{ _motd_file_path }}"
owner: root
group: root
mode: '0755'
tags:
- molecule-idempotence-notest
- name: configure_motd | Add pam_exec {{ _motd_file_path }} in pam
lineinfile:
path: "{{ item }}"
line: session optional pam_exec.so type=open_session stdout {{ _motd_file_path }}
loop:
- "{{ _motd_pam_login_file_path }}"
- "{{ _motd_pam_sshd_file_path }}"
...

View File

@ -0,0 +1,22 @@
---
- name: disable_default_motd | Get stats of {{ _motd_sshd_config_file_path }}
stat:
path: "{{ _motd_sshd_config_file_path }}"
register: _motd_sshd_config_file_stat
- name: disable_default_motd | Ensure PrintMotd is set to "no" in {{ _motd_sshd_config_file_path }}
lineinfile:
path: "{{ _motd_sshd_config_file_path }}"
regexp: "^PrintMotd "
line: PrintMotd no
when: _motd_sshd_config_file_stat.stat.exists
- name: disable_default_motd | Comment out pam_motd in pam
replace:
path: "{{ item }}"
regexp: '^(session\s+optional\s+pam_motd.so\s+.*)'
replace: '# \1'
loop:
- "{{ _motd_pam_login_file_path }}"
- "{{ _motd_pam_sshd_file_path }}"
...

View File

@ -1,58 +1,7 @@
---
- block:
- name: Get stats of {{ _motd_sshd_config_file_path }}
stat:
path: "{{ _motd_sshd_config_file_path }}"
register: _motd_sshd_config_file_stat
- name: Ensure PrintMotd is set to "no" in {{ _motd_sshd_config_file_path }}
lineinfile:
path: "{{ _motd_sshd_config_file_path }}"
regexp: "^PrintMotd "
line: PrintMotd no
when: _motd_sshd_config_file_stat.stat.exists
- name: Comment out pam_motd in pam
replace:
path: "{{ item }}"
regexp: '^(session\s+optional\s+pam_motd.so\s+.*)'
replace: '# \1'
loop:
- "{{ _motd_pam_login_file_path }}"
- "{{ _motd_pam_sshd_file_path }}"
- name: include_tasks disable_default_motd.yml if motd_disable_default_motd is True
include_tasks: disable_default_motd.yml
when: motd_disable_default_motd|bool
- name: Apply template {{ motd_banner_template }} on {{ _motd_banner_file_path }}
copy:
content: "{{ motd_banner_template_prepend + _motd_banner_template_content + motd_banner_template_append }}"
dest: "{{ _motd_banner_file_path }}"
owner: root
group: root
mode: '0644'
when: motd_banner_template
- name: Ensure line "Banner {{ _motd_banner_file_path }}" is {{ _motd_banner_state }} in {{ _motd_sshd_config_file_path }}
lineinfile:
path: "{{ _motd_sshd_config_file_path }}"
regexp: "^(#?)Banner "
line: Banner {{ _motd_banner_file_path }}
state: "{{ _motd_banner_state }}"
notify: Restart sshd
- name: Apply template {{ motd_template }} on {{ _motd_file_path }}
copy:
content: "{{ motd_template_prepend + _motd_template_content + motd_template_append }}"
dest: "{{ _motd_file_path }}"
owner: root
group: root
mode: '0755'
tags:
- molecule-idempotence-notest
- name: Add pam_exec {{ _motd_file_path }} in pam
lineinfile:
path: "{{ item }}"
line: session optional pam_exec.so type=open_session stdout {{ _motd_file_path }}
loop:
- "{{ _motd_pam_login_file_path }}"
- "{{ _motd_pam_sshd_file_path }}"
- include_tasks: configure_motd.yml
...

View File

@ -2,10 +2,6 @@
_motd_sshd_config_file_path: /etc/ssh/sshd_config
_motd_pam_login_file_path: /etc/pam.d/login
_motd_pam_sshd_file_path: /etc/pam.d/sshd
_motd_banner_file_path: /etc/banner
_motd_banner_state: "{{ 'present' if motd_banner_template else 'absent' }}"
_motd_file_path: /usr/local/bin/dynmotd
_motd_lookup_method: "{{ 'url' if motd_template is match('http(s)?:\/\/') else 'template' }}"
_motd_template_content: "{{ lookup(_motd_lookup_method, motd_template, split_lines=False, username=motd_template_username, password=motd_template_password) }}"
_motd_banner_lookup_method: "{{ 'url' if motd_banner_template is match('http(s)?:\/\/') else 'template' }}"
_motd_banner_template_content: "{{ lookup(_motd_banner_lookup_method, motd_banner_template, split_lines=False, username=motd_banner_template_username, password=motd_banner_template_password) }}"