#!/usr/bin/bash
#
# Initial script for UBLinux
# This script are launching before starting init from initrd script
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs

ENABLED=no
[[ ${ENABLED} == "yes" ]] || exit 0
DEBUGMODE=no

PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.

SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"

SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

if  [[ -n ${ADSERVER} && -n ${DOMAIN} ]]; then
    [[ -z ${KERBEROS_REALM} ]] && KERBEROS_REALM=${DOMAIN^^}
    [[ -z ${SAMBADOMAIN} ]] && SAMBADOMAIN=$(echo ${KERBEROS_REALM} | awk -F . '{print $1}')

    sed -i s/kerberos.ublinux.ru/$ADSERVER/ etc/krb5.conf
    sed -i s/LOCAL.UBLINUX.RU/$KERBEROS_REALM/ etc/krb5.conf
    sed -i s/local.ublinux.ru/$DOMAIN/ etc/krb5.conf

    sed -i '/realm =/d' etc/samba/smb.conf
    sed -i '/security =/d' etc/samba/smb.conf
    sed -i '/password server =/d' etc/samba/smb.conf
    sed -i '/\[global\]/ s/$/'"\n  realm = ${KERBEROS_REALM}\n  security = ADS\n  password server = ${ADSERVER}"/ etc/samba/smb.conf


    sed -i s/'^passwd:.*$'/'passwd:     files winbind'/ etc/nsswitch.conf
    sed -i s/'^shadow:.*$'/'shadow:     files winbind'/ etc/nsswitch.conf
    sed -i s/'^group:.*$'/'group:     files winbind'/ etc/nsswitch.conf
    cp -pf etc/pam.d/system-auth-krb etc/pam.d/system-auth
fi

if [[ -n "${SAMBADOMAIN}" ]]; then
    sed -i s/"workgroup = .*"/"workgroup = ${SAMBADOMAIN}"/ etc/samba/smb.conf
    sed -i s/"^NT_DOMAIN=.*"/"NT_DOMAIN=${SAMBADOMAIN}"/ etc/ntlmaps.cfg
fi
