roles-lists: Initial version of role
Add support for archiving mailing lists from roles.
This commit is contained in:
parent
cb4292f5d0
commit
32e4f82ff2
5 changed files with 89 additions and 0 deletions
27
roles/roles-lists/files/archiver.sh
Executable file
27
roles/roles-lists/files/archiver.sh
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function err {
|
||||||
|
echo "$*" | mail -s "archiver: mail archiving failed" root
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
_group=$1
|
||||||
|
_list=$2
|
||||||
|
|
||||||
|
if [ -z "$_group" ] || [ -z "$_list" ]; then
|
||||||
|
echo "Usage: $(basename "$0") <group> <list>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
_dir="/roles/${_group}/library/archive/${_list}"
|
||||||
|
_mbox="${_dir}/$(date +%Y-%m)"
|
||||||
|
|
||||||
|
if [ ! -d "$_dir" ]; then
|
||||||
|
if ! mkdir -p "$_dir" ; then
|
||||||
|
err "ERROR: Failed to create archive directory '${_dir}'"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! "/usr/bin/spamc" >> "${_mbox}" ; then
|
||||||
|
err "ERROR: Failed to archive mail into '${_mbox}'"
|
||||||
|
fi
|
BIN
roles/roles-lists/files/sendmail-spamc.pp
Normal file
BIN
roles/roles-lists/files/sendmail-spamc.pp
Normal file
Binary file not shown.
14
roles/roles-lists/files/sendmail-spamc.te
Normal file
14
roles/roles-lists/files/sendmail-spamc.te
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
module sendmail-spamc 1.0;
|
||||||
|
|
||||||
|
require {
|
||||||
|
type spamc_exec_t;
|
||||||
|
type sendmail_t;
|
||||||
|
class file { execute execute_no_trans getattr map open read };
|
||||||
|
}
|
||||||
|
|
||||||
|
#============= sendmail_t ==============
|
||||||
|
|
||||||
|
#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
|
||||||
|
allow sendmail_t spamc_exec_t:file map;
|
||||||
|
allow sendmail_t spamc_exec_t:file { execute execute_no_trans getattr open read };
|
5
roles/roles-lists/meta/main.yml
Normal file
5
roles/roles-lists/meta/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- {role: "selinux"}
|
||||||
|
- {role: "sendmail"}
|
43
roles/roles-lists/tasks/main.yml
Normal file
43
roles/roles-lists/tasks/main.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: install archiver
|
||||||
|
copy:
|
||||||
|
dest: /etc/smrsh/archiver
|
||||||
|
src: archiver.sh
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: "{{ ansible_wheel }}"
|
||||||
|
|
||||||
|
- name: link legacy archiver
|
||||||
|
file:
|
||||||
|
dest: /etc/smrsh/archiver.pl
|
||||||
|
src: /etc/smrsh/archiver
|
||||||
|
state: link
|
||||||
|
owner: root
|
||||||
|
group: "{{ ansible_wheel }}"
|
||||||
|
follow: false
|
||||||
|
|
||||||
|
- name: copy selinux module
|
||||||
|
copy:
|
||||||
|
dest: /usr/local/share/selinux/sendmail-spamc.pp
|
||||||
|
src: sendmail-spamc.pp
|
||||||
|
mode: 0644
|
||||||
|
owner: root
|
||||||
|
group: "{{ ansible_wheel }}"
|
||||||
|
|
||||||
|
- name: check if selinux module is loaded
|
||||||
|
command:
|
||||||
|
argv:
|
||||||
|
- semodule
|
||||||
|
- -l
|
||||||
|
register: result
|
||||||
|
check_mode: false
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: insall selinux module
|
||||||
|
command:
|
||||||
|
argv:
|
||||||
|
- semodule
|
||||||
|
- -i
|
||||||
|
- /usr/local/share/selinux/sendmail-spamc.pp
|
||||||
|
when: '"sendmail-spamc" not in result.stdout_lines'
|
Loading…
Add table
Add a link
Reference in a new issue