61 lines
1.6 KiB
Bash
Executable file
61 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
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|