|
|
@@ -0,0 +1,129 @@
|
|
|
+#!/bin/bash
|
|
|
+# info: deliting system user
|
|
|
+
|
|
|
+#----------------------------------------------------------#
|
|
|
+# Variable&Function #
|
|
|
+#----------------------------------------------------------#
|
|
|
+
|
|
|
+# Argument defenition
|
|
|
+user="$1"
|
|
|
+
|
|
|
+# Importing variables
|
|
|
+source $VESTA/conf/vars.conf
|
|
|
+source $V_FUNC/shared_func.sh
|
|
|
+source $V_FUNC/domain_func.sh
|
|
|
+source $V_FUNC/db_func.sh
|
|
|
+source $V_FUNC/ip_func.sh
|
|
|
+source $V_CONF/vesta.conf
|
|
|
+
|
|
|
+
|
|
|
+#----------------------------------------------------------#
|
|
|
+# Verifications #
|
|
|
+#----------------------------------------------------------#
|
|
|
+
|
|
|
+# Checking arg number
|
|
|
+check_args '1' "$#" 'user'
|
|
|
+
|
|
|
+# Checking argument format
|
|
|
+format_validation 'user'
|
|
|
+
|
|
|
+# Checking user
|
|
|
+is_user_valid
|
|
|
+
|
|
|
+# Checking user is active
|
|
|
+is_user_suspended
|
|
|
+
|
|
|
+# Checking user childs
|
|
|
+is_user_parent
|
|
|
+
|
|
|
+
|
|
|
+#----------------------------------------------------------#
|
|
|
+# Action #
|
|
|
+#----------------------------------------------------------#
|
|
|
+
|
|
|
+# Checking web system is enabled
|
|
|
+if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
|
|
|
+ $V_BIN/v_unsuspend_web_domains $user
|
|
|
+ $V_BIN/v_del_web_domains $user
|
|
|
+ rv="$?"
|
|
|
+ if [ "$rv" -ne '0' ]; then
|
|
|
+ exit $rv
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# Checking dns system is enabled
|
|
|
+if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
|
|
|
+ $V_BIN/v_unsuspend_dns_domains $user
|
|
|
+ $V_BIN/v_del_dns_domains $user
|
|
|
+ rv="$?"
|
|
|
+ if [ "$rv" -ne '0' ]; then
|
|
|
+ exit $rv
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# Checking mail system is enabled
|
|
|
+if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
|
|
|
+ $V_BIN/v_unsuspend_mail_domains $user
|
|
|
+ $V_BIN/v_del_mail_domains $user
|
|
|
+ rv="$?"
|
|
|
+ if [ "$rv" -ne '0' ]; then
|
|
|
+ exit $rv
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# Checking db system is enabled
|
|
|
+if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
|
|
|
+ $V_BIN/v_unsuspend_db_bases $user
|
|
|
+ $V_BIN/v_del_db_dbases $user
|
|
|
+ rv="$?"
|
|
|
+ if [ "$rv" -ne '0' ]; then
|
|
|
+ exit $rv
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# Checking ip
|
|
|
+v_del_sys_user_ips "$user"
|
|
|
+rv="$?"
|
|
|
+if [ "$rv" -ne '0' ]; then
|
|
|
+ exit $rv
|
|
|
+fi
|
|
|
+
|
|
|
+# Deleteing user pipes
|
|
|
+diskp=$(grep -n " $user$" $V_QUEUE/disk.pipe|cut -d : -f 1|sort -n -r)
|
|
|
+trafp=$(grep -n " $user$" $V_QUEUE/traffic.pipe|cut -d : -f 1|sort -n -r)
|
|
|
+statp=$(grep -n "/$user/" $V_QUEUE/stats.pipe|cut -d : -f 1|sort -n -r)
|
|
|
+
|
|
|
+if [ ! -z "$diskp" ]; then
|
|
|
+ for str in $diskp; do
|
|
|
+ sed -i "$str d" $V_QUEUE/disk.pipe
|
|
|
+ done
|
|
|
+fi
|
|
|
+
|
|
|
+if [ ! -z "$trafp" ]; then
|
|
|
+ for str in $trafp; do
|
|
|
+ sed -i "$str d" $V_QUEUE/traffic.pipe
|
|
|
+ done
|
|
|
+fi
|
|
|
+
|
|
|
+if [ ! -z "$statp" ]; then
|
|
|
+ for str in $statp; do
|
|
|
+ sed -i "$str d" $V_QUEUE/stats.pipe
|
|
|
+ done
|
|
|
+fi
|
|
|
+
|
|
|
+# Removing system user
|
|
|
+userdel -f $user
|
|
|
+rm -rf $V_HOME/$user
|
|
|
+rm -f /var/spool/mail/$user
|
|
|
+rm -f /var/spool/cron/$user
|
|
|
+rm -rf $V_USERS/$user
|
|
|
+
|
|
|
+
|
|
|
+#----------------------------------------------------------#
|
|
|
+# Vesta #
|
|
|
+#----------------------------------------------------------#
|
|
|
+
|
|
|
+# Logging
|
|
|
+log_event 'system' "$V_EVENT"
|
|
|
+
|
|
|
+exit $OK
|