#!/bin/bash ########################################################################## # Script : Check Kerberos # : and SHUTDOWN if more than one User has a Ticket # Autor : Jobst Heinermann // Andreas Vogel # Copyright : macenterprise gmbh ########################################################################## # Erstellung verify script read -d '' verify_script<<"EOS" #!/bin/bash ########################################################################## # Script : Prüft ob Flag für fremdes Ticket gesetzt wurde # Autor : Jobst Heinermann // Andreas Vogel # macenterprise gmbh ########################################################################## #Variablen USER=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) #Prüfung .REPORT REPORT="/private/tmp/.ticket" if [[ -f $REPORT ]] then #Policy abfragen um Logeintrag zu schreiben /usr/local/bin/jamf policy -event TicketReport # User die Berechtigung für Filevault Entschlüsselung entziehen # fdesetup remove -user $USER # alle vorhandenen Kerberos Tickets werden verworfen # kdestroy --all # Flag für Reporting setzen touch "/Library/Application Support/JAMF/ING/TICKET" # reboot um o.a. Filevault Änderungen zu setzen # shutdown -r now fi ########################################################################## # Script : Prüft ob LaunchAgents bei User vorhanden ist # Autor : Jobst Heinermann // Andreas Vogel # macenterprise gmbh ########################################################################## #Variablen #eingeloggter User USER=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) #Ordner USER_LA="/Users/$USER/Library/LaunchAgents" if [[ ! -d "$USER_LA" ]] then mkdir -p "$USER_LA" fi SH_SYS="/usr/local/scripts/" if [[ ! -d $SH_SYS ]] then mkdir -p $SH_SYS fi SH_JAMF="Library/Application\ Support/JAMF/ING/" if [[ ! -d $SH_JAMF ]] then mkdir -p $SH_JAMF fi # Erstellung XML read -d '' launchAgent <<"EOU" KeepAlive Label de.ing.check_ticket Program /usr/local/scripts/de.ing.check_ticket.sh RunAtLoad StartInterval 10 EOU #LaunchAgent LAUNCH_A="/Users/$USER/Library/LaunchAgents/de.ing.check_ticket.plist" if [[ ! -f $LAUNCH_A ]] then # XML schreiben echo "$launchAgent" > /Users/$USER/Library/LaunchAgents/de.ing.check_ticket.plist # Rechte setzen chown $USER:1979520509 /Users/$USER/Library/LaunchAgents/de.ing.check_ticket.plist chmod 644 /Users/$USER/Library/LaunchAgents/de.ing.check_ticket.plist fi EOS # script schreiben echo "$verify_script" > /Library/Application\ Support/JAMF/ING/de.ing.verify_kerberos.sh # Rechte setzen chmod u+x /Library/Application\ Support/JAMF/ING/de.ing.verify_kerberos.sh # Erstellung XML read -d '' launchDaemon <<"EOD" KeepAlive Label de.ing.verify_kerberos Program /Library/Application Support/JAMF/ING/de.ing.verify_kerberos.sh RunAtLoad StartInterval 10 EOD # LaunchDaemon ggf. stoppen launchctl unload -wF /Library/LaunchDaemons/de.ing.verify_kerberos.plist # XML schreiben echo "$launchDaemon" > /Library/LaunchDaemons/de.ing.verify_kerberos.plist # Rechte setzen chmod 644 /Library/LaunchDaemons/de.ing.verify_kerberos.plist chown root:wheel /Library/LaunchDaemons/de.ing.verify_kerberos.plist # LaunchDaemon laden launchctl load -wF /Library/LaunchDaemons/de.ing.verify_kerberos.plist # Erstellung check script read -d '' check_script<<"EOC" #!/bin/bash ########################################################################## # Shellscript : Prüft im Userkontext auf fremde Kerberos Tickets # Autor : Jobst Heinermann // Andreas Vogel # macenterprise gmbh ########################################################################## #Variablen #eingeloggter User USER=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2) #Kerberos REALM REALM="DIBA.CORP.INT" #Prüfung auf fremdes Ticket TICKET=$(klist -l | grep $REALM | awk -F@ {'print $1'} | tr -d '* ' | awk -F$USER {'print $1'} | awk 'NF') #Prüfung .REPORT REPORT="/private/tmp/.ticket" #Test if [[ -n $TICKET ]] then echo "$TICKET" > "$REPORT" fi exit 0 EOC # script schreiben echo "$check_script" > /usr/local/scripts/de.ing.check_ticket.sh # Rechte setzen chmod a+x /usr/local/scripts/de.ing.check_ticket.sh exit 0