Files
Alte_Skripte/Daemon_NoMAD/de.ing.Check_Kerberos 4.sh
Andreas Vogel 306149a726 test
2026-02-16 15:28:29 +01:00

109 lines
2.6 KiB
Bash

#!/bin/bash
##########################################################################
# Shellscript : Check Ticket und Launch Daemon
# Quelle :
# Autor : Andreas Vogel, macenterprise gmbh
# Copyright : macenterprise 2019
##########################################################################
# Erstellung XML
read -d '' launchDaemons <<"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>Disabled</key>
<false/>
<key>KeepAlive</key>
<dict>
<key>Crashed</key>
<true/>
<key>SuccessfulExit</key>
<true/>
</dict>
<key>Label</key>
<string>de.ing.Ticket_check</string>
<key>LaunchEvents</key>
<dict>
<key></key>
<dict/>
</dict>
<key>ProgramArguments</key>
<array>
<string>/Library/Application\ Support/JAMF/ING/check_ticket.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>10</integer>
<key>StartOnMount</key>
<false/>
</dict>
</plist>
EOF
# XML schreiben
sudo echo "$launchDaemons" > /Library/LaunchDaemons/de.ing.tgt.plist
# Rechte setzen
sudo chmod 644 /Library/LaunchDaemons/de.ing.tgt.plist
sudo chown root:wheel /Library/LaunchDaemons/de.ing.tgt.plist
# Erstellung startup script
read -d '' startupscript<<"EOF"
#!/bin/sh
##########################################################################
# Shellscript : Check Ticket
# Author : Andreas Vogel, 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)
TicketIs=$(klist --list-all | grep DIBA.CORP.INT | cut -d ' ' -f 2)
Diba=@DIBA.CORP.INT
name=$user$Diba
if [[ $name == $TicketIs ]]
then
exit 0
else
osascript -e 'display dialog "Das angeforderte Ticket scheint nicht dir zu gehören. Bitte fordere dein Eigenes Ticket an." buttons "OK" default button 1'
kdestroy -p $TicketIs
fi
exit 0
EOF
# script schreiben
echo "$startupscript" > /Library/Application\ Support/JAMF/ING/check_ticket.sh
# Rechte setzen
/bin/chmod a+x /Library/Application\ Support/JAMF/ING/check_ticket.sh
/bin/chown root:wheel /Library/Application\ Support/JAMF/ING/check_ticket.sh
# LaunchAgent laden
launchctl unload /Library/LaunchDaemons/de.ing.tgt.plist
launchctl load /Library/LaunchDaemons/de.ing.tgt.plist
exit 0