#!/bin/sh reconfigure_slapd() { debconf-set-selections << EOF slapd slapd/domain string ${mydomain} slapd shared/organization string ${mydomain} slapd slapd/password1 password ${admin_pw} slapd slapd/password2 password ${admin_pw} EOF rm -rf /var/backups/*slapd* /var/backups/unknown*ldapdb dpkg-reconfigure -fnoninteractive -pcritical slapd } die() { echo "ERROR" echo "$@" exit 1 } enable_pam_mkhomedir() { if ! grep -qE "^session.*pam_mkhomedir\.so" /etc/pam.d/common-session; then echo "session optional pam_mkhomedir.so" >> /etc/pam.d/common-session fi } adjust_hostname() { local myhostname="$1" echo "${myhostname}" > /etc/hostname hostname "${myhostname}" if ! grep -qE "${myhostname}" /etc/hosts; then # just so it's resolvable echo "127.0.1.10 ${myhostname}" >> /etc/hosts fi } generate_certs() { local cn="$1" local cert="/etc/ldap/server.pem" local key="/etc/ldap/server.key" local cnf="/etc/ldap/openssl.cnf" cat > "$cnf" < /etc/ldap/ldap.conf < /etc/sssd/sssd.conf < /etc/sssd/sssd.conf < /etc/krb5kdc/kdc.conf < /etc/krb5.conf < /etc/krb5kdc/kadm5.acl # create the realm kdb5_util create -s -P secretpassword # restart services systemctl restart krb5-kdc.service krb5-admin-server.service } create_krb_principal() { local principal="$1" local password="$2" kadmin.local -q "addprinc -pw ${password} ${principal}" }