#!/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