#!/bin/bash ########################################################################## # Shellscript : TGT Script und User LaunchAgent erstellen # Quelle : # Autor : Jobst Heinermann, macenterprise gmbh # Copyright : macenterprise 2019 ########################################################################## # Variabel user=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) # prüfen ob LaunchAgents vorhanden if [[ ! -d "/Users/$user/Library/LaunchAgents" ]] then # Ordner neu erstellen mkdir -p "/Users/$user/Library/LaunchAgents" fi # Erstellung XML read -d '' launchAgent <<"EOF" Label de.ing.startup_tgt.plist ProgramArguments /usr/local/scripts/de.ing.tgt.sh RunAtLoad EOF # XML schreiben echo "$launchAgent" > /Users/$user/Library/LaunchAgents/de.ing.startup_tgt.plist # Rechte setzen /bin/chmod 644 /Users/$user/Library/LaunchAgents/de.ing.startup_tgt.plist # Erstellung startup script read -d '' startupscript<<"EOF" #!/bin/sh ########################################################################## # Shellscript : TGT # Author : jobst heinermann, macenterprise gmbh ©2019 # Source : ########################################################################## #Prüfung aduser=$(dscl . list /Users | grep -v '_' | sort -ug | tail -n1) if [ $aduser -gt 10000 ] then # user user=$(dscl . read /Users/$aduser RecordName | awk {'print $2'}) else echo "kein AD User vorhanden" exit 1 fi user=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) # Abfrage der Variabeln PASS=$(osascript -e 'text returned of (display dialog "Bitte das Windows Benutzerpasswort eingeben" default answer "" with hidden answer)') || exit FILE=$(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 8) PFILE=/Users/$user/.$FILE touch $PFILE echo "$PASS" >> $PFILE # Kerberos Ticket anfragen kinit --password-file="$PFILE" $user@DIBA.CORP.INT rm $PFILE exit 0 EOF # script schreiben if [[ ! -d "/usr/local/scripts" ]] then # Ordner neu erstellen mkdir -p "/usr/local/scripts" fi echo "$startupscript" > /usr/local/scripts/de.ing.tgt.sh # Rechte setzen /bin/chmod a+x /usr/local/scripts/de.ing.tgt.sh # LaunchAgent laden launchctl unload /Users/$user/Library/LaunchAgents/de.ing.startup_tgt.plist launchctl load /Users/$user/Library/LaunchAgents/de.ing.startup_tgt.plist exit 0