#!/bin/bash

# DISCLAIMER   :   It is recomended to test this script on a test machine.
#                  ManageEngine will not be responsible for any damage/loss
#                  to the data/setup based on the behavior of the script.
#
# DESCRIPTION  :   Script to delete the existing local user and user files in linux agent machines.
#
# ARGUMENT(S):
#  1) To delete the existing local user in the system
#
#         ARGUMENT FORMAT: <user_name>
#         EXAMPLE        : test
#
#           RETURN VALUE          MEANING
#
#                0             User deleted successfully
#                1             Error while deleting user
#                2             Invalid arguments.

# NOTE :
#   To see the script output, Kindly enable the option Enable logging in Troubleshooting while deploying configuration.

errorCode=2
euid=$(id -u)

for i in 1; do
	#check sudo access
	if [ $euid -ne 0 ]; then
		echo "This script must be run as root"
		break
	fi

	if [ $# -ne 1 ]; then
		echo "Incorrect Usage : Arguments mismatch."
		echo "Refer ARGUMENT(S) section in this script."
		break
	fi

	errorCode=0
	username=$1

	#check given username exist
	IsUser=$(grep -c '^'$username':' /etc/passwd)

	if [ $IsUser -eq 0 ]; then
		echo "UserName : $username does not exist"
		errorCode=1
		break
	fi

	#delete the username is exist
	pkill -9 -u $username
	userdel -f -r $username

	if [ $? -eq 0 ]; then
		echo "User: $username was deleted successfully"
	else
		echo "Error while deleting user : $username"
		errorCode=1
	fi
done

errorFunc() {
	return $errorCode
}
errorFunc
