| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #!/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_BIN/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
- # Deleteing user from parent
- owner=$(get_user_value '$OWNER')
- if [ -e "$V_USERS/$owner/child.conf" ]; then
- childc=$(grep -n "USER='$user'" $V_USERS/$owner/child.conf |\
- cut -d : -f 1 | sort -n -r)
- fi
- if [ ! -z "$childc" ]; then
- for str in $childc; do
- sed -i "$str d" $V_USERS/$owner/child.conf
- 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
|