# Install using: sudo su -c "bash <(wget -qO- /url/to/install-fileserver-as-dc-member.sh)" # Make sure script is ran as root if [[ $EUID -ne 0 ]]; then exec sudo /bin/bash "$0" "$@" fi read -e -p "Enter DC administrator username: " -i $(logname) ADMINUSER read -e -p "Enter realm: " -i "myspace.local" DCREALM read -e -p "Enter workgroup: " -i "MYSPACE" WORKGROUP read -e -p "Enter fileserver hostname: " -i "ubuntulabb" FSHOSTNAME read -e -p "Enter dc hostname: " -i "dc1" DCHOSTNAME read -e -p "Enter dc/dns IP: " -i "192.168.0.9" DNSIP apt install -y samba apt install -y realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit hostnamectl set-hostname ${FSHOSTNAME,,}.${DCREALM,,} systemctl disable systemd-resolved.service systemctl stop systemd-resolved.service # systemctl status systemd-resolved.service # Update /etc/resolv.conf with DC as nameserver sed -i -E "s/nameserver .*?/nameserver $DNSIP/" /etc/resolv.conf realm discover ${DCREALM,,} realm join -U $ADMINUSER ${DCREALM,,} realm list # Update /usr/share/pam-configs/mkhomedir sed -i -E "s/Default:.*?/Default: yes/" /usr/share/pam-configs/mkhomedir sed -i -E "s/Priority:.*?/Priority: 900/" /usr/share/pam-configs/mkhomedir sed -i -E "s/Session-Interactive-Only:.*?//" /usr/share/pam-configs/mkhomedir # sed -i '/Session-Interactive-Only:.*?/d' /usr/share/pam-configs/mkhomedir pam-auth-update # pam-auth-update --enable mkhomedir systemctl restart sssd # systemctl status sssd id $ADMINUSER@${DCREALM,,} realm permit --all mkdir -p /var/fileshare/data chmod -R uga+rwx /var/fileshare/ echo "%domain\ admins@${DCREALM,,} ALL=(ALL) ALL">/etc/sudoers.d/domain-admins apt -y install winbind libpam-winbind libnss-winbind krb5-config sudo tee /etc/krb5.conf > /dev/null < /dev/null < /dev/null < /dev/null < /dev/null < /dev/null < /dev/null <