Sindbad~EG File Manager

Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/omsagent.postrm

#!/bin/sh

# Calling sequence for RPM pre/post scripts, during upgrade, is as follows:
#   1. Run the %pre section of the RPM being installed.
#   2. Install the files that the RPM provides.
#   3. Run the %post section of the RPM.
#   4. Run the %preun of the old package.
#   5. Delete any old files not overwritten by the newer version.
#      (This step deletes files that the new package does not require.)
#   6. Run the %postun hook of the old package.
#
# Thus, if we're an upgrade, skip all of this cleanup
ETC_DIR=/etc/opt/microsoft/omsagent
VAR_DIR=/var/opt/microsoft/omsagent
WORKSPACE_REGEX='^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
if [ "$1" != "upgrade" -a "$1" != "purge" ]; then
   # Clean up directory trees: /etc/opt, /var/opt, /opt
   # If multi-workspace scenario
   for ws_id in `ls -1 $ETC_DIR | grep -E $WORKSPACE_REGEX`
    do
        echo "Deleting certs and conf directories for workspace $ws_id if empty..."
        rmdir $ETC_DIR/$ws_id/certs/ 2> /dev/null
        rmdir $ETC_DIR/$ws_id/conf/ 2> /dev/null

        rm /opt/microsoft/omsagent/bin/omsagent-$ws_id 2> /dev/null

        rm -rf $VAR_DIR/$ws_id/tmp/ 2> /dev/null
        rmdir $VAR_DIR/$ws_id/state/ 2> /dev/null
        # /var/opt/microsoft/omsagent/<wkspc>/run/ and log/ should be left for later service start
    done
   
   # Clean up installinfo.txt file (registered as "conf" file to pass rpmcheck)
   rm -f $ETC_DIR/sysconf/installinfo.txt*
   rmdir $ETC_DIR/sysconf 2> /dev/null

   # Clean up symbolic links if multi-workspace scenario
   rm $ETC_DIR/certs 2> /dev/null
   rm $ETC_DIR/conf 2> /dev/null
   rm $VAR_DIR/tmp 2> /dev/null
   rm $VAR_DIR/state 2> /dev/null
   rm $VAR_DIR/run 2> /dev/null
   rm $VAR_DIR/log 2> /dev/null

   # Clean up directory tree if agent installed or upgraded without onboarding. No symbolic links.
   rmdir $ETC_DIR/certs/ 2> /dev/null
   rmdir $ETC_DIR/conf/ 2> /dev/null
   rmdir $VAR_DIR/tmp/ 2> /dev/null
   rmdir $VAR_DIR/state/ 2> /dev/null
   rmdir $VAR_DIR/run/ 2> /dev/null
   rmdir $VAR_DIR/log/ 2> /dev/null

   # Remove parent folders if they are empty
   rmdir $ETC_DIR 2> /dev/null
   rmdir /etc/opt/microsoft 2> /dev/null
   rmdir /etc/opt 2> /dev/null
   rmdir $VAR_DIR 2> /dev/null
   rmdir /opt/microsoft/omsagent/bin/ 2> /dev/null
   rmdir /opt/microsoft/omsagent/ 2> /dev/null

   # Clean up logrotate
   rm -f /etc/logrotate.d/omsagent*
   rm -f /etc/cron.d/omsagent
fi

RemoveSudoersSupport() {
    # Unconfigure sudo configuration
    #
    # Just unconfigure everything we could have done so things are left in clean state

    if [ -f /etc/sudoers.d/omsagent ]; then
        rm -f /etc/sudoers.d/omsagent
    fi

    grep -q '# Begin sudo configuration for omsagent' /etc/sudoers
    if [ $? -eq 0 ]; then
        cp /etc/sudoers /etc/sudoers.bak
        sed '/^# Begin sudo configuration for omsagent/,/# End sudo configuration for omsagent$/ d' /etc/sudoers.bak > /etc/sudoers
    fi
}

SudoSupportsIncludeDirective() {
    # Algorithm:
    #   If    #includedir exists in /etc/sudoers AND /etc/sudoers.d exists,
    #   Then  Use /etc/sudoers.d
    #   Else  Append to /etc/sudoers

    INCLUDEDIR=0
    egrep -q "^#includedir" /etc/sudoers && INCLUDEDIR=1

    if [ $INCLUDEDIR -eq 1 -a -d /etc/sudoers.d ]; then
        return 0
    else
        return 1
    fi
}



# If we're called for upgrade, don't do anything
if [ "$1" != "upgrade" -a "$1" != "purge" ]; then
    # Restart the OMI server in case an agent is running under service account
    /opt/omi/bin/service_control restart

    # Unconfigure sudo if it's already configured
    RemoveSudoersSupport

    # Remove the service accounts
    echo "Deleting nxautomation service account ..."
    userdel nxautomation 2> /dev/null
    echo "Deleting omsagent service account ..."
    userdel omsagent 2> /dev/null

    if [ $? -eq 0 ]; then
        # Depending on system settings, the groups may not have been deleted
        egrep -q "^nxautomation:" /etc/group
        if [ $? -eq 0 ]; then
            echo "Deleting nxautomation group ..."
            groupdel nxautomation
        fi
        egrep -q "^omsagent:" /etc/group
        if [ $? -eq 0 ]; then
            echo "Deleting omsagent group ..."
            groupdel omsagent
        fi
    fi
fi
exit 0

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists