| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #!/bin/bash
- # info: delete user
- # options: user
- #
- # This function deletes a certain user and all his resourses such as domains,
- # databases, cron jobs, etc.
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Argument defenition
- user=$1
- # Importing variables
- source $VESTA/conf/vars.conf
- source $V_CONF/vesta.conf
- source $V_FUNC/shared.func
- source $V_FUNC/domain.func
- source $V_FUNC/db.func
- source $V_FUNC/ip.func
- #----------------------------------------------------------#
- # 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 vesta
- if [ "$user" = 'vesta' ]; then
- exit
- fi
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- # Checking web system is enabled
- if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
- $V_BIN/v_unsuspend_web_domains $user
- $V_BIN/v_delete_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_delete_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_delete_db_dbases $user
- rv="$?"
- if [ "$rv" -ne '0' ]; then
- exit $rv
- fi
- fi
- # Checking ip
- $V_BIN/v_delete_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
- /usr/sbin/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
|