109 lines
2.6 KiB
Bash
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
|
|
|