Feat: Fügt Fehlerbehandlung ein.

This commit is contained in:
DragonSlayer_14 2025-03-26 11:52:02 +01:00
parent 2b76159f7d
commit 0f128ba569

View File

@ -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