diff --git a/1_AdJoin.sh b/1_AdJoin.sh index bc1b705..961945c 100755 --- a/1_AdJoin.sh +++ b/1_AdJoin.sh @@ -9,63 +9,72 @@ fi CURRENT_DIR=$(pwd) AUR_CODE_DIR="/var/lib/user_aur_code" -sudo pacman -Syu glib2 glib2-devel git --no-confirm +# Sicherstellen, dass benötigte Pakete installiert sind +sudo pacman -Syu --noconfirm glib2 git base-devel --needed +# AUR-Verzeichnis erstellen mkdir -p $AUR_CODE_DIR sudo chmod -R 777 $AUR_CODE_DIR -# Install adcli +# Installiere adcli cd $AUR_CODE_DIR git clone https://aur.archlinux.org/adcli.git cd adcli - -makepkg -sic +makepkg -sic --noconfirm || { echo "Fehler beim Erstellen von adcli"; exit 1; } git clean -dfx -# Install realmd +# Installiere realmd cd $AUR_CODE_DIR git clone https://aur.archlinux.org/realmd.git cd realmd - -makepkg -sic +makepkg -sic --noconfirm || { echo "Fehler beim Erstellen von realmd"; exit 1; } git clean -dfx cd $CURRENT_DIR +# Samba-Verzeichnis erstellen sudo mkdir -p /var/lib/samba/private/ -sudo pacman -Syu sssd curl ntp polkit + +# Installiere notwendige Pakete +sudo pacman -Syu --noconfirm sssd curl ntp polkit echo "❓ Daten für Domainjoin:" read -p "Domänenname: " DOMAIN read -p "Adminuser: " ADMIN +# NetBIOS und COMS extrahieren NetBios=$(echo "$DOMAIN" | cut -d '.' -f1) -coms=$( echo "$DOMAIN" | cut -d '.' -f2 ) +coms=$(echo "$DOMAIN" | cut -d '.' -f2) -sudo realm join --verbose --user="$ADMIN" "$DOMAIN" --install=/ +# Realm joinen +sudo realm join --verbose --user="$ADMIN" "$DOMAIN" --install=/ || { echo "Fehler beim Domainjoin"; exit 1; } +# SSSD aktivieren und starten sudo systemctl enable sssd sudo systemctl start sssd +# PAM-Konfiguration überprüfen und anpassen homedir=$(grep homedir /etc/pam.d/common-session | grep 0077 | cut -d '=' -f3 | head -1) -if [ "$homedir" = "0077" ] -then - echo "ℹ️ pam_mkhomedir.so configured" +if [ "$homedir" = "0077" ]; then + echo "ℹ️ pam_mkhomedir.so konfiguriert" sleep 1 else echo "session required pam_mkhomedir.so skel=/etc/skel/ umask=0077" | sudo tee -a /etc/pam.d/common-session fi -sed -i -e 's/fallback_homedir = \/home\/%u@%d/#fallback_homedir = \/home\/%u@%d/g' /etc/sssd/sssd.conf -sed -i -e 's/use_fully_qualified_names = True/use_fully_qualified_names = False/g' /etc/sssd/sssd.conf -sed -i -e 's/access_provider = ad/access_provider = simple/g' /etc/sssd/sssd.conf -sed -i -e 's/sudoers: files sss/sudoers: files/g' /etc/nsswitch.conf +# SSSD-Konfigurationsdatei anpassen +sudo sed -i -e 's/fallback_homedir = \/home\/%u@%d/#fallback_homedir = \/home\/%u@%d/g' /etc/sssd/sssd.conf +sudo sed -i -e 's/use_fully_qualified_names = True/use_fully_qualified_names = False/g' /etc/sssd/sssd.conf +sudo sed -i -e 's/access_provider = ad/access_provider = simple/g' /etc/sssd/sssd.conf +sudo sed -i -e 's/sudoers: files sss/sudoers: files/g' /etc/nsswitch.conf echo "override_homedir = /home/%u" | sudo tee -a /etc/sssd/sssd.conf -sudo sudo grep -i override /etc/sssd/sssd.conf +sudo grep -i override /etc/sssd/sssd.conf +# Weitere Anpassungen an der SSSD-Konfiguration sudo sed -i '/krb5_realm =/a entry_cache_group_timeout = 5400' /etc/sssd/sssd.conf sudo sed -i '/krb5_realm =/a entry_cache_user_timeout = 5400' /etc/sssd/sssd.conf +# Zusätzliche SSSD-Alternativen sudo echo "#entry_cache_user_timeout = 5400 #entry_cache_group_timeout = 5400 #cache_credentials = TRUE