diff --git a/bin/v_add_sys_user b/bin/v_add_sys_user index 9da65420..071a0fe4 100755 --- a/bin/v_add_sys_user +++ b/bin/v_add_sys_user @@ -18,6 +18,18 @@ source $VESTA/conf/vars.conf source $V_CONF/vesta.conf source $V_FUNC/shared.func +is_user_free() { + # Parsing domain values + check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" ) + + # Checking result + if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then + echo "Error: user $user exist" + log_event 'debug' "$E_USER_EXIST $V_EVENT" + exit $E_USER_EXIST + fi +} + #----------------------------------------------------------# # Verifications # diff --git a/bin/v_add_sys_user_reports b/bin/v_add_sys_user_reports index 0d4f25e9..105989e5 100755 --- a/bin/v_add_sys_user_reports +++ b/bin/v_add_sys_user_reports @@ -31,9 +31,6 @@ is_user_valid # Checking user is active is_user_suspended -# Checking reports existance -is_user_key_empty '$REPORTS' - #----------------------------------------------------------# # Action # diff --git a/bin/v_add_web_domain_stat b/bin/v_add_web_domain_stat index 1f6b44f0..713ea715 100755 --- a/bin/v_add_web_domain_stat +++ b/bin/v_add_web_domain_stat @@ -30,7 +30,6 @@ format_validation 'user' 'domain' # Checking web system is enabled is_system_enabled 'web' -check_func_result $? # Checking user is_user_valid "$user" diff --git a/bin/v_change_sys_user_package b/bin/v_change_sys_user_package index 79b53816..9b001459 100755 --- a/bin/v_change_sys_user_package +++ b/bin/v_change_sys_user_package @@ -14,6 +14,89 @@ source $VESTA/conf/vars.conf source $V_CONF/vesta.conf source $V_FUNC/shared.func +is_package_avalable() { + # Parsing user data + usr_data=$(cat $V_USERS/$user/user.conf) + for key in $usr_data; do + eval ${key%%=*}=${key#*=} + done + + # Clearing vars + WEB_DOMAINS='0' + WEB_SSL='0' + DATABASES='0' + MAIL_DOMAINS='0' + MAIL_BOXES='0' + MAIL_FORWARDERS='0' + DNS_DOMAINS='0' + DISK_QUOTA='0' + BANDWIDTH='0' + + # Parsing package + pkg_data=$(cat $V_PKG/$package.pkg) + for key in $pkg_data; do + eval ${key%%=*}=${key#*=} + done + + # Comparing user data with package + if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\ + [ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\ + [ "$DATABASES" -lt "$U_DATABASES" ] ||\ + [ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\ + [ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\ + [ "$DISK_QUOTA" -lt "$U_DISK" ] ||\ + [ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then + echo "Error: Upgrade package" + log_event 'debug' "$E_PKG_UPGRADE $v_log" + exit $E_PKG_UPGRADE + fi +} + +change_user_package() { + # Parsing user data + usr_data=$(cat $V_USERS/$user/user.conf) + for key in $usr_data; do + eval ${key%%=*}=${key#*=} + done + + # Parsing package + pkg_data=$(cat $V_PKG/$package.pkg) + for key in $pkg_data; do + eval ${key%%=*}=${key#*=} + done + + echo "FNAME='$FNAME' +LNAME='$LNAME' +PACKAGE='$package' +WEB_DOMAINS='$WEB_DOMAINS' +WEB_SSL='$WEB_SSL' +WEB_ALIASES='$WEB_ALIASES' +DATABASES='$DATABASES' +MAIL_DOMAINS='$MAIL_DOMAINS' +MAIL_BOXES='$MAIL_BOXES' +MAIL_FORWARDERS='$MAIL_FORWARDERS' +DNS_DOMAINS='$DNS_DOMAINS' +DISK_QUOTA='$DISK_QUOTA' +BANDWIDTH='$BANDWIDTH' +NS='$NS' +SHELL='$SHELL' +BACKUPS='$BACKUPS' +WEB_TPL='$WEB_TPL' +SUSPENDED='$SUSPENDED' +CONTACT='$CONTACT' +REPORTS='$REPORTS' +IP_OWNED='$IP_OWNED' +U_DIR_DISK='$U_DIR_DISK' +U_DISK='$U_DISK' +U_BANDWIDTH='$U_BANDWIDTH' +U_WEB_DOMAINS='$U_WEB_DOMAINS' +U_WEB_SSL='$U_WEB_SSL' +U_DNS_DOMAINS='$U_DNS_DOMAINS' +U_DATABASES='$U_DATABASES' +U_MAIL_DOMAINS='$U_MAIL_DOMAINS' +DATE='$DATE'" > $V_USERS/$user/user.conf +} + #----------------------------------------------------------# # Verifications # diff --git a/bin/v_change_sys_user_shell b/bin/v_change_sys_user_shell index 187d97db..d7ee2cea 100755 --- a/bin/v_change_sys_user_shell +++ b/bin/v_change_sys_user_shell @@ -40,7 +40,7 @@ is_user_suspended update_user_value "$user" '$SHELL' "$shell" # Get shell full path -shell_path=$(get_shell_path) +shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" ) # Changing passwd file /usr/bin/chsh -s "$shell_path" "$user" >/dev/null 2>&1 diff --git a/bin/v_del_sys_user_reports b/bin/v_del_sys_user_reports index 01bbf395..647d99d6 100755 --- a/bin/v_del_sys_user_reports +++ b/bin/v_del_sys_user_reports @@ -31,9 +31,6 @@ is_user_valid # Checking user is active is_user_suspended -# Checking reports existance -is_user_value_exist '$REPORTS' - #----------------------------------------------------------# # Action # diff --git a/func/shared.func b/func/shared.func index 6435f919..2a65ff36 100644 --- a/func/shared.func +++ b/func/shared.func @@ -25,17 +25,6 @@ log_history() { fi } -# External function result checker -check_func_result() { - - return_code="$1" - - if [[ "$return_code" -ne "$OK" ]]; then - log_event 'debug' "$return_code $V_EVENT" - exit $return_code - fi -} - # Argument list checker check_args() { @@ -432,7 +421,7 @@ is_system_enabled() { # System user check is_user_valid() { search_user="${1-$user}" - check_user=$(cut -f 1 -d : /etc/passwd | grep -w "$search_user" ) + check_user=$(grep -w "$search_user" /etc/passwd ) if [ -z "$check_user" ]; then echo "Error: user not found" log_event 'debug' "$E_USER_NOTEXIST $V_EVENT" @@ -553,44 +542,6 @@ is_package_full() { esac } -is_package_avalable() { - # Parsing user data - usr_data=$(cat $V_USERS/$user/user.conf) - for key in $usr_data; do - eval ${key%%=*}=${key#*=} - done - - # Clearing vars - WEB_DOMAINS='0' - WEB_SSL='0' - DATABASES='0' - MAIL_DOMAINS='0' - MAIL_BOXES='0' - MAIL_FORWARDERS='0' - DNS_DOMAINS='0' - DISK_QUOTA='0' - BANDWIDTH='0' - - # Parsing package - pkg_data=$(cat $V_PKG/$package.pkg) - for key in $pkg_data; do - eval ${key%%=*}=${key#*=} - done - - # Comparing user data with package - if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\ - [ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\ - [ "$DATABASES" -lt "$U_DATABASES" ] ||\ - [ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\ - [ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\ - [ "$DISK_QUOTA" -lt "$U_DISK" ] ||\ - [ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then - echo "Error: Upgrade package" - log_event 'debug' "$E_PKG_UPGRADE $v_log" - exit $E_PKG_UPGRADE - fi -} - is_template_valid() { stype="$1" @@ -676,18 +627,6 @@ restart_schedule() { fi } -is_user_free() { - # Parsing domain values - check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" ) - - # Checking result - if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then - echo "Error: user $user exist" - log_event 'debug' "$E_USER_EXIST $V_EVENT" - exit $E_USER_EXIST - fi -} - is_package_valid() { if [ ! -e "$V_PKG/$package.pkg" ]; then echo "Error: package is not exist" @@ -696,28 +635,6 @@ is_package_valid() { fi } -is_user_key_empty() { - key="$1" - - # Parsing ip - string=$(cat $V_USERS/$user/user.conf ) - - # Parsing key=value - for keys in $string; do - eval ${keys%%=*}=${keys#*=} - done - - # Self reference - eval value="$key" - - # Checkng key - if [ ! -z "$value" ] && [ "$value" != 'no' ] && [ "$value" != '0' ]; then - echo "Error: value is not empty = $value " - log_event 'debug' "$E_VALUE_EXIST $V_EVENT" - exit $E_VALUE_EXIST - fi -} - update_user_value() { USER="$1" key="$2" @@ -797,76 +714,6 @@ is_type_valid() { fi } -change_user_package() { - # Parsing user data - usr_data=$(cat $V_USERS/$user/user.conf) - for key in $usr_data; do - eval ${key%%=*}=${key#*=} - done - - # Parsing package - pkg_data=$(cat $V_PKG/$package.pkg) - for key in $pkg_data; do - eval ${key%%=*}=${key#*=} - done - - echo "FNAME='$FNAME' -LNAME='$LNAME' -PACKAGE='$package' -WEB_DOMAINS='$WEB_DOMAINS' -WEB_SSL='$WEB_SSL' -WEB_ALIASES='$WEB_ALIASES' -DATABASES='$DATABASES' -MAIL_DOMAINS='$MAIL_DOMAINS' -MAIL_BOXES='$MAIL_BOXES' -MAIL_FORWARDERS='$MAIL_FORWARDERS' -DNS_DOMAINS='$DNS_DOMAINS' -DISK_QUOTA='$DISK_QUOTA' -BANDWIDTH='$BANDWIDTH' -NS='$NS' -SHELL='$SHELL' -BACKUPS='$BACKUPS' -WEB_TPL='$WEB_TPL' -SUSPENDED='$SUSPENDED' -CONTACT='$CONTACT' -REPORTS='$REPORTS' -IP_OWNED='$IP_OWNED' -U_DIR_DISK='$U_DIR_DISK' -U_DISK='$U_DISK' -U_BANDWIDTH='$U_BANDWIDTH' -U_WEB_DOMAINS='$U_WEB_DOMAINS' -U_WEB_SSL='$U_WEB_SSL' -U_DNS_DOMAINS='$U_DNS_DOMAINS' -U_DATABASES='$U_DATABASES' -U_MAIL_DOMAINS='$U_MAIL_DOMAINS' -DATE='$DATE'" > $V_USERS/$user/user.conf -} - -get_shell_path() { - check_shell=$(/usr/bin/chsh --list-shells | grep -w "$shell" ) - echo "$check_shell" -} - -is_user_value_exist() { - key="$1" - string=$(cat $V_USERS/$user/user.conf ) - - # Parsing key=value - for keys in $string; do - eval ${keys%%=*}=${keys#*=} - done - - # Self reference - eval value="$key" - - # Checking result - if [ -z "$value" ] || [ "$value" = 'no' ]; then - echo "Error: ${key//$/} is empty" - log_event 'debug' "$E_VALUE_EMPTY $V_EVENT" - exit $E_VALUE_EMPTY - fi -} - decrease_user_value() { USER="$1" key="$2" @@ -1024,23 +871,6 @@ get_usr_traff() { echo "$size" } -get_config_value() { - key="$1" - # Parsing config - string=$(cat $V_CONF/vesta.conf) - - # Parsing key=value - for keys in $string; do - eval ${keys%%=*}=${keys#*=} - done - - # Self reference - eval value="$key" - - # Print value - echo "$value" -} - is_backup_enabled() { BACKUPS=$(grep "BACKUPS='" $V_USERS/$user/user.conf |cut -f 2 -d \') if [ -z "$BACKUPS" ] || [[ "$BACKUPS" -le '0' ]]; then