From 25bd336ea39ba7c7342179d2982675593f5119ea Mon Sep 17 00:00:00 2001 From: PierreGode Date: Fri, 24 Aug 2018 09:40:42 +0200 Subject: [PATCH] Update ADconnection.sh --- ADconnection.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 3 deletions(-) diff --git a/ADconnection.sh b/ADconnection.sh index 96ea477..580be78 100644 --- a/ADconnection.sh +++ b/ADconnection.sh @@ -1258,7 +1258,70 @@ fi } ############################### Reauth ########################################## - +leave(){ +whoelse=$( who -ut | grep -v old | awk '{print $1}' ) +homeshome=$( sudo realm list | grep domain-name | awk '{print $2}' ) +homes=$( ls /home/$homeshome | head -1 ) +if [ "$homes" = "$whoelse" ] +then +echo "" +echo "you are logged in as an AD user.. canceling request" +echo "only administrator has permissions" +echo "" +exit +else +LEFT=$(sudo realm discover | grep configured | awk '{print $2}') +DOMAIN=$(realm discover | grep -i realm.name | awk '{print $2}') +SSSD=$( sudo cat /etc/sssd/sssd.conf | grep domain | awk '{print $3}' | head -1 ) +DOMAINlower=$( echo $DOMAIN | tr '[:upper:]' '[:lower:]' ) +if [ "$DOMAINlower" = "$SSSD" ] +then +echo "Detecting realm $SSSD" +else + if [ "$LEFT" = "no" ] + then + echo "" + echo "$DOMAIN has not been configured" + echo "" + exit + fi + fi +read -p "Do you really want to leave the domain: $DOMAIN (y/n)?" yn + case $yn in + [Yy]* ) echo "Listing domain" + sudo realm discover $DOMAIN + sudo realm leave $DOMAIN + LEFT=$(sudo realm discover | grep configured | awk '{print $2}') + if [ "$LEFT" = "no" ] + then + echo "" + sudo echo "" | sudo tee /etc/sssd/sssd.conf + echo "$DOMAIN has been left" + notify-send ADconnection "Left $DOMAIN " + else + echo "something went wrong, try to leave manually" + read -r DOMAIN + sudo realm leave $DOMAIN + left=$(sudo realm discover | grep configured | awk '{print $2}') + if [ "$left" = "no" ] + then + echo "" + sudo echo "" | sudo tee /etc/sssd/sssd.conf + echo "$DOMAIN has been left" + notify-send ADconnection "Left $DOMAIN " + else + echo "something went wrong" + fi + fi + ;; + [Nn]* ) echo "Bye" + exit + ;; + * ) echo 'Please answer yes or no.';; + esac +exit +fi +} ########################################### Leave Realm ################################ leave(){ @@ -1293,7 +1356,7 @@ read -p "Do you really want to leave the domain: $DOMAIN (y/n)?" yn case $yn in [Yy]* ) echo "Listing domain" sudo realm discover $DOMAIN -# sudo realm leave $DOMAIN + sudo realm leave $DOMAIN LEFT=$(sudo realm discover | grep configured | awk '{print $2}') if [ "$LEFT" = "no" ] then @@ -1304,7 +1367,7 @@ read -p "Do you really want to leave the domain: $DOMAIN (y/n)?" yn else echo "something went wrong, try to leave manually" read -r DOMAIN -# sudo realm leave $DOMAIN + sudo realm leave $DOMAIN left=$(sudo realm discover | grep configured | awk '{print $2}') if [ "$left" = "no" ] then