evoadmin-mail/debian/postinst
Victor LABORIE 8e498d9a8f
All checks were successful
continuous-integration/drone/push Build is passing
New upstream release (1.0.5)
2019-03-28 15:36:50 +01:00

59 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
set -eu
getent passwd evoadmin-mail >/dev/null || useradd --system --user-group --no-create-home --home-dir /var/lib/evoadmin-mail --shell /usr/sbin/nologin evoadmin-mail
if [ -f /root/.ldapvirc ]; then
hostname=$(hostname -f)
ldap_base=$(grep -Eo "^base: (.*)" /root/.ldapvirc | awk '{ print $2 }')
ldap_admin_dn=$(grep -Eo "^user: (.*)" /root/.ldapvirc | awk '{ print $2 }')
ldap_admin_password=$(grep -Eo "^password: (.*)" /root/.ldapvirc | awk '{ print $2 }')
if [ ! -f /etc/evoadmin-mail/config.ini ]; then
evoadmin_password=$(apg -n 1 -m 16 -M lcN)
cat > /root/evolinux_evoadminmail_admin.ldif <<EOF
dn: uid=evoadmin,${ldap_base}
uid: evoadmin
cn: Evoadmin ADM
uidNumber: 4242
gidNumber: 4242
homeDirectory: /dev/null
isAdmin: TRUE
mailacceptinggeneralid: evoadmin@${hostname}
objectClass: mailAccount
objectClass: organizationalRole
objectClass: posixAccount
userPassword: ${evoadmin_password}
EOF
ldapvi --noninteractive --add --in /root/evolinux_evoadminmail_admin.ldif
cat > /etc/evoadmin-mail/config.ini <<EOF
; The configuration for evoadmin-mail
;
; * Global settings
; * LDAP settings
;
[global]
name = "Evoadmin Mail";
mail = "evoadmin@${hostname}"
log_level = error
[ldap]
host = "127.0.0.1"
port = 389
base = "${ldap_base}"
admin_dn = "${ldap_admin_dn}"
admin_pass = "${ldap_admin_password}"
superadmin[] = "evoadmin"
[quota]
path = "/var/lib/evoadmin-mail/quota/"
EOF
fi
chmod 750 /etc/evoadmin-mail /var/lib/evoadmin-mail
chmod 640 /etc/evoadmin-mail/config.ini
chgrp evoadmin-mail /etc/evoadmin-mail /etc/evoadmin-mail/config.ini /var/lib/evoadmin-mail
fi
exit 0