Files
Alte_Skripte/de.ing.create_startup_TGT.sh
2026-02-16 15:05:15 +01:00

107 lines
2.6 KiB
Bash

#!/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"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>de.ing.startup_tgt.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/scripts/de.ing.tgt.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
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