diff --git a/bin/v_add_sys_ip b/bin/v_add_sys_ip index 28bb6175..0fdb4628 100755 --- a/bin/v_add_sys_ip +++ b/bin/v_add_sys_ip @@ -9,7 +9,7 @@ ip="$1" mask="$2" interface="${3-eth0}" -owner="${4-vesta}" +user="${4-vesta}" ip_status="${5-shared}" ip_name="$6" @@ -24,19 +24,16 @@ source $V_FUNC/domain_func.sh # for namehosting #----------------------------------------------------------# # Checking arg number -check_args '2' "$#" 'ip mask [interface] [owner] [ip_status] [ip_name]' +check_args '2' "$#" 'ip mask [interface] [user] [ip_status] [ip_name]' # Checking argument format -format_validation 'ip' 'mask' 'interface' +format_validation 'ip' 'mask' 'interface' 'user' # Checking system ip is_sys_ip_free -# Checking owner -if [ ! -z "$owner" ]; then - format_validation 'user' - is_user_valid "$owner" -fi +# Checking user +is_user_valid "$user" # Checking ip_status if [ ! -z "$ip_status" ]; then @@ -84,10 +81,7 @@ namehost_ip_support #----------------------------------------------------------# # Updating user conf -if [ ! -z "$owner" ]; then - user="$owner" - increase_user_value "$user" '$IP_OWNED' -fi +increase_user_value "$user" '$IP_OWNED' # Adding task to the vesta pipe if [ "$web_restart" = 'yes' ]; then diff --git a/bin/v_add_sys_user b/bin/v_add_sys_user index ecbc0dbf..58abe298 100755 --- a/bin/v_add_sys_user +++ b/bin/v_add_sys_user @@ -9,11 +9,9 @@ user="$1" password="$2" email="$3" -role="$4" -owner="${5-vesta}" -package="${6-default}" -fname=$7 -lname=$8 +package="${4-default}" +fname=$5 +lname=$6 # Importing variables source $VESTA/conf/vars.conf @@ -25,29 +23,16 @@ source $V_FUNC/shared_func.sh #----------------------------------------------------------# # Checking arg number -check_args '5' "$#" 'user password email role owner [package] [fname] [lname]' +check_args '3' "$#" 'user password email [package] [fname] [lname]' # Checking argument format -format_validation 'user' 'password' 'email' 'role' 'owner' 'package' -format_validation 'fname' 'lname' +format_validation 'user' 'password' 'email' 'package' 'fname' 'lname' # Checking user is_user_free "$user" -# Checking 'vesta' user creation -if [ "$user" != 'vesta' ]; then - # Checking owner - is_user_valid "$owner" - - # Checking owner role - is_user_privileged "$owner" - - # Checking owner permission - is_user_privileged "$owner" "$role" - - # Checking package - is_package_valid "$package" -fi +# Checking package +is_package_valid "$package" #----------------------------------------------------------# @@ -149,12 +134,9 @@ LNAME='$lname' PACKAGE='$package' $package_data SUSPENDED='no' -OWNER='$owner' -ROLE='$role' CONTACT='$email' REPORTS='yes' IP_OWNED='0' -U_CHILDS='0' U_DIR_DISK='0' U_DISK='0' U_BANDWIDTH='0' @@ -165,15 +147,9 @@ U_DATABASES='0' U_MAIL_DOMAINS='0' DATE='$V_DATE'" > $V_USERS/$user/user.conf -# Filling owner config -if [ "$user" != 'vesta' ]; then - echo "USER='$user'" >> $V_USERS/$owner/child.conf - increase_user_value "$owner" 'U_CHILDS' -fi - # Hiding password dt="$(date +%m-%d-%y" "%H:%m:%S)" -V_EVENT="$dt $V_SCRIPT $user ***** $email $role $owner $package $fname $lname" +V_EVENT="$dt $V_SCRIPT $user ***** $email $package $fname $lname" # Logging log_event 'system' "$V_EVENT" diff --git a/bin/v_add_sys_user_ip b/bin/v_add_sys_user_ip deleted file mode 100755 index 487292af..00000000 --- a/bin/v_add_sys_user_ip +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -# info: addding ip to user - -#----------------------------------------------------------# -# Variable&Function # -#----------------------------------------------------------# - -# Argument defenition -user="$1" -ip="$2" -ip_status="${3-exclusive}" - -# Importing variables -source $VESTA/conf/vars.conf -source $V_FUNC/shared_func.sh -source $V_FUNC/ip_func.sh - - -#----------------------------------------------------------# -# Verifications # -#----------------------------------------------------------# - -# Checking arg number -check_args '2' "$#" 'user ip [ip_status]' - -# Checking argument format -format_validation 'user' 'ip' 'ip_status' - -# Checking user -is_user_valid - -# Checking user is active -is_user_suspended - -# Checking system ip -is_sys_ip_valid - -# Checking webdomains on ip -is_ip_key_empty '$U_WEB_DOMAINS' - -# Checking users on ip -is_ip_key_empty '$U_SYS_USERS' - -# Checking ip owner -is_ip_key_empty '$OWNER' - - -#----------------------------------------------------------# -# Action # -#----------------------------------------------------------# - -# Adding ip to user -update_sys_ip_value '$OWNER' "$user" -update_sys_ip_value '$STATUS' "$ip_status" - - -#----------------------------------------------------------# -# Vesta # -#----------------------------------------------------------# - -# Updating user conf -increase_user_value "$user" '$IP_OWNED' - -# Logging -log_event 'system' "$V_EVENT" - -exit $OK diff --git a/bin/v_backup_sys_user b/bin/v_backup_sys_user index 9b9f8f99..d25e5dbb 100755 --- a/bin/v_backup_sys_user +++ b/bin/v_backup_sys_user @@ -368,14 +368,6 @@ if [ -e "$V_USERS/$user/billing.log" ]; then cp -r $V_USERS/$user/billing.log $tmpdir/vesta/ fi -if [ -e "$V_USERS/$user/child.conf" ]; then - if [ -z "$output" ]; then - echo -e "\t$(date +%H:%m:%S) child.conf" - fi - - cp -r $V_USERS/$user/child.conf $tmpdir/vesta/ -fi - if [ -e "$V_USERS/$user/history.log" ]; then if [ -z "$output" ]; then echo -e "\t$(date +%H:%m:%S) history.log" diff --git a/bin/v_change_sys_ip_owner b/bin/v_change_sys_ip_owner index 7fd47b1d..c0007599 100755 --- a/bin/v_change_sys_ip_owner +++ b/bin/v_change_sys_ip_owner @@ -45,20 +45,13 @@ is_ip_key_empty '$U_SYS_USERS' # Action # #----------------------------------------------------------# -# Get ip and user owner -ip_owner=$(get_sys_ip_value '$OWNER') -user_owner=$(get_user_value '$OWNER') -owner_role=$(get_user_value '$ROLE') - -# Checking permissions -if [ "$owner_role" != 'admin' ] || [ "$ip_owner" != "$user_owner" ]; then - echo "Error: ip owner is not admin" - log_event 'debug' "$E_PERMS_REQUEIURED $V_EVENT" - exit $E_PERMS_REQUEIURED -fi - # Changing ip owner -update_sys_ip_value '$OWNER' "$user" +ip_owner=$(get_sys_ip_value '$OWNER') +if [ "$ip_owner" != "$user" ]; then + update_sys_ip_value '$OWNER' "$user" + decrease_user_value "$ip_owner" '$IP_OWNED' + increase_user_value "$user" '$IP_OWNED' +fi #----------------------------------------------------------# diff --git a/bin/v_del_sys_user b/bin/v_del_sys_user index 3337c63e..8013e85d 100755 --- a/bin/v_del_sys_user +++ b/bin/v_del_sys_user @@ -33,9 +33,10 @@ is_user_valid # Checking user is active is_user_suspended -# Checking user childs -is_user_parent - +# Checking user vesta +if [ "$user" = 'vesta' ]; then + exit +fi #----------------------------------------------------------# # Action # @@ -111,18 +112,6 @@ if [ ! -z "$statp" ]; then 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 diff --git a/bin/v_del_sys_user_ip b/bin/v_del_sys_user_ip deleted file mode 100755 index 68b1f8b8..00000000 --- a/bin/v_del_sys_user_ip +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash -# info: deleting user ip - -#----------------------------------------------------------# -# Variable&Function # -#----------------------------------------------------------# - -# Argument defenition -user="$1" -ip="$2" - -# Importing variables -source $VESTA/conf/vars.conf -source $V_FUNC/shared_func.sh -source $V_FUNC/ip_func.sh - - -#----------------------------------------------------------# -# Verifications # -#----------------------------------------------------------# - -# Checking arg number -check_args '2' "$#" 'user ip' - -# Checking argument format -format_validation 'user' 'ip' - -# Checking user -is_user_valid - -# Checking user is active -is_user_suspended - -# Checking user ip -is_sys_ip_valid - -# Checking ownership -is_sys_ip_owner - -# Checking webdomains on ip -is_ip_key_empty '$U_WEB_DOMAINS' - -# Checking users on ip -is_ip_key_empty '$U_SYS_USERS' - - -#----------------------------------------------------------# -# Action # -#----------------------------------------------------------# - -# Deleting owner -update_sys_ip_value '$OWNER' '' - - -#----------------------------------------------------------# -# Vesta # -#----------------------------------------------------------# - -# Updating user conf -decrease_user_value $user '$IP_OWNED' - -# Logging -log_event 'system' "$V_EVENT" - -exit $OK diff --git a/bin/v_del_sys_user_ips b/bin/v_del_sys_user_ips deleted file mode 100755 index cce40356..00000000 --- a/bin/v_del_sys_user_ips +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# info: deleting user ip - -#----------------------------------------------------------# -# Variable&Function # -#----------------------------------------------------------# - -# Argument defenition -user="$1" - -# Importing variables -source $VESTA/conf/vars.conf -source $V_FUNC/shared_func.sh -source $V_FUNC/ip_func.sh - - -#----------------------------------------------------------# -# 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 - - -#----------------------------------------------------------# -# Action # -#----------------------------------------------------------# - -# Starting delete loop -for ip in $(ip_owner_search); do - $V_BIN/v_del_sys_user_ip "$user" "$ip" - rv="$?" - if [ "$rv" -ne '0' ]; then - log_event 'debug' "$rv $V_EVENT" - exit $rv - fi - -done - - -#----------------------------------------------------------# -# Vesta # -#----------------------------------------------------------# - -# Logging -log_event 'system' "$V_EVENT" - -exit $OK diff --git a/bin/v_list_sys_user b/bin/v_list_sys_user index 34531c8b..6f487b2f 100755 --- a/bin/v_list_sys_user +++ b/bin/v_list_sys_user @@ -38,9 +38,9 @@ conf="$V_USERS/$user/user.conf" # Defining fileds to select fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES $DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS - $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $MAX_CHILDS $SUSPENDED - $OWNER $ROLE $IP_OWNED $U_CHILDS $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS - $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $CONTACT $DATE' + $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $SUSPENDED $IP_OWNED + $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES + $U_MAIL_DOMAINS $CONTACT $DATE' # Listing user case $format in diff --git a/bin/v_list_sys_user_childs b/bin/v_list_sys_user_childs deleted file mode 100755 index db2cd398..00000000 --- a/bin/v_list_sys_user_childs +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# info: listing user childs - -#----------------------------------------------------------# -# Variable&Function # -#----------------------------------------------------------# - -# Argument defenition -user="$1" -format="${2-shell}" -limit="${3-1000}" -offset="${4-1}" - -# Importing variables -source $VESTA/conf/vars.conf -source $V_FUNC/shared_func.sh - - -#----------------------------------------------------------# -# Verifications # -#----------------------------------------------------------# - -# Checking arg number -check_args '1' "$#" 'user [format] [limit] [offset]' - -# Checking argument format -format_validation 'user' 'limit' 'offset' - -# Checking user -is_user_valid - - -#----------------------------------------------------------# -# Action # -#----------------------------------------------------------# - -# Defining fileds to select -fields='$USER' - -# Listing domains -case $format in - json) childs_json_list ;; - shell) childs_shell_list ;; - *) check_args '1' '0' 'user [format] [limit] [offset]' -esac - - -#----------------------------------------------------------# -# Vesta # -#----------------------------------------------------------# - -# Logging -log_event 'system' "$V_EVENT" - -exit $OK diff --git a/bin/v_list_sys_user_ips b/bin/v_list_sys_user_ips index bad744f3..f7ceed59 100755 --- a/bin/v_list_sys_user_ips +++ b/bin/v_list_sys_user_ips @@ -34,9 +34,6 @@ is_user_valid # Action # #----------------------------------------------------------# -# Get user owner -owner=$(get_user_value '$OWNER') - # Defining fileds to select fields='$IP $OWNER $STATUS $NAME' diff --git a/bin/v_list_sys_user_packages b/bin/v_list_sys_user_packages index 2ef0580c..564e9f3b 100755 --- a/bin/v_list_sys_user_packages +++ b/bin/v_list_sys_user_packages @@ -30,7 +30,7 @@ format_validation 'limit' 'offset' # Defining fields fields='$PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES $DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS $DISK_QUOTA $BANDWIDTH $NS1 $NS2 - $SHELL $BACKUPS $WEB_TPL $MAX_CHILDS' + $SHELL $BACKUPS $WEB_TPL' # Listing domains case $format in diff --git a/bin/v_list_sys_users b/bin/v_list_sys_users index 76937749..af174e7c 100755 --- a/bin/v_list_sys_users +++ b/bin/v_list_sys_users @@ -29,9 +29,9 @@ format_validation 'limit' 'offset' # Defining fileds to select fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES $DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS - $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $MAX_CHILDS $SUSPENDED - $OWNER $ROLE $IP_OWNED $U_CHILDS $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS - $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $CONTACT $DATE' + $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $SUSPENDED $IP_OWNED + $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES + $U_MAIL_DOMAINS $CONTACT $DATE' # Listing domains case $format in diff --git a/bin/v_upd_sys_user_bill b/bin/v_upd_sys_user_bill index dda0a4c0..be9620de 100755 --- a/bin/v_upd_sys_user_bill +++ b/bin/v_upd_sys_user_bill @@ -111,7 +111,7 @@ for user in $user_list; do DATE=$(date -d "$(date +'%m/01') -1day" +%m-%d-%y) # Compiling report string - v_str="DATE='$DATE' PACKAGE='$PACKAGE' U_CHILDS='$U_CHILDS'" + v_str="DATE='$DATE' PACKAGE='$PACKAGE'" v_str="$v_str U_DISK='$U_DISK' U_BANDWIDTH='$U_BANDWIDTH'" v_str="$v_str U_WEB_DOMAINS='$U_WEB_DOMAINS' U_WEB_SSL='$U_WEB_SSL'" v_str="$v_str U_DNS_DOMAINS='$U_DNS_DOMAINS' U_DATABASES='$U_DATABASES'" diff --git a/data/packages/default.pkg b/data/packages/default.pkg index aa1682b3..dcd16f85 100644 --- a/data/packages/default.pkg +++ b/data/packages/default.pkg @@ -12,4 +12,3 @@ BANDWIDTH='10000' NS='ns1.localhost,ns2.localhost' SHELL='nologin' BACKUPS='3' -MAX_CHILDS='0' diff --git a/data/packages/palegreen.pkg b/data/packages/palegreen.pkg index 29890470..02f0bd28 100644 --- a/data/packages/palegreen.pkg +++ b/data/packages/palegreen.pkg @@ -12,4 +12,3 @@ BANDWIDTH='50000' NS='ns1.localhost,ns2.localhost' SHELL='nologin' BACKUPS='5' -MAX_CHILDS='0' diff --git a/func/ip_func.sh b/func/ip_func.sh index c8b74cd1..bad59f3d 100644 --- a/func/ip_func.sh +++ b/func/ip_func.sh @@ -441,7 +441,7 @@ ip_user_json_list() { i='1' # iterator end=$(($limit + $offset)) # last string user_ip=$(grep -l "OWNER='$user'" $V_IPS/*) - owner_ip=$(grep -l -A2 "OWNER='$owner'" $V_IPS/*|grep "STATUS='shared'"|\ + owner_ip=$(grep -l -A2 "OWNER='vesta'" $V_IPS/*|grep "STATUS='shared'"|\ cut -f 1 -d -) # Definining ip list @@ -510,7 +510,7 @@ ip_user_shell_list() { i='1' # iterator end=$(($limit + $offset)) # last string user_ip=$(grep -l "OWNER='$user'" $V_IPS/*) - owner_ip=$(grep -A2 "OWNER='$owner'" $V_IPS/* |grep "STATUS='shared'" |\ + owner_ip=$(grep -A2 "OWNER='vesta'" $V_IPS/* |grep "STATUS='shared'" |\ cut -f 1 -d -) # Definining ip list @@ -545,7 +545,7 @@ ip_user_shell_list() { ip_add_vesta() { # Filling ip values - ip_data="OWNER='$owner'" + ip_data="OWNER='$user'" ip_data="$ip_data\nSTATUS='$ip_status'" ip_data="$ip_data\nNAME='$ip_name'" ip_data="$ip_data\nU_SYS_USERS=''" diff --git a/func/shared_func.sh b/func/shared_func.sh index 7220bf66..dbd1bffb 100644 --- a/func/shared_func.sh +++ b/func/shared_func.sh @@ -602,7 +602,6 @@ is_package_avalable() { DNS_DOMAINS='0' DISK_QUOTA='0' BANDWIDTH='0' - MAX_CHILDS='0' # Parsing package pkg_data=$(cat $V_PKG/$package.pkg) @@ -617,8 +616,7 @@ is_package_avalable() { [ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\ [ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\ [ "$DISK_QUOTA" -lt "$U_DISK" ] ||\ - [ "$BANDWIDTH" -lt "$U_BANDWIDTH" ] ||\ - [ "$MAX_CHILDS" -lt "$U_CHILDS" ]; then + [ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then echo "Error: Upgrade package" log_event 'debug' "$E_PKG_UPGRADE $v_log" exit $E_PKG_UPGRADE @@ -722,37 +720,6 @@ is_user_free() { fi } -is_user_privileged() { - search_user="${1-$user}" - - # Parsing domain values - user_role=$(grep 'ROLE=' $V_USERS/$search_user/user.conf|cut -f 2 -d \' ) - - # Checking role - if [ "$user_role" != 'reseller' ] && [ "$user_role" != 'admin' ]; then - echo "Error: user role is $user_role" - log_event 'debug' "$E_PERMS_REQUEIURED $V_EVENT" - exit $E_PERMS_REQUEIURED - fi - - # Checking role permissions - if [ -n "$role" ]; then - case "$user_role" in - admin) rights='reseller, user' ;; - reseller) rights='user' ;; - *) rights='no_create' ;; - esac - - # Comparing rights with role - check_perms=$(echo "$rights"|grep -w "$role") - if [ -z "$check_perms" ]; then - echo "Error: user rights are '$rights'" - log_event 'debug' "$E_PERMS_REQUEIURED $V_EVENT" - exit $E_PERMS_REQUEIURED - fi - fi -} - is_package_valid() { if [ ! -e "$V_PKG/$package.pkg" ]; then echo "Error: package is not exist" @@ -902,14 +869,10 @@ NS='$NS' SHELL='$SHELL' BACKUPS='$BACKUPS' WEB_TPL='$WEB_TPL' -MAX_CHILDS='$MAX_CHILDS' SUSPENDED='$SUSPENDED' -OWNER='$OWNER' -ROLE='$ROLE' CONTACT='$CONTACT' REPORTS='$REPORTS' IP_OWNED='$IP_OWNED' -U_CHILDS='$U_CHILDS' U_DIR_DISK='$U_DIR_DISK' U_DISK='$U_DISK' U_BANDWIDTH='$U_BANDWIDTH' @@ -973,21 +936,6 @@ decrease_user_value() { fi } -is_user_parent() { - childs="$(grep "U_CHILDS=" $V_USERS/$user/user.conf |cut -f 2 -d \')" - if [ -z "$childs" ]; then - echo "Error: Parsing error" - log_event 'debug' "$E_PARSE_ERROR $V_EVENT" - exit $E_PARSE_ERROR - fi - - if [ "$childs" -gt '0' ]; then - echo "Error: user have childs" - log_event 'debug' "$E_CHILD_EXIST $V_EVENT" - exit $E_CHILD_EXIST - fi -} - # Json listing function v_json_list() { # Definigng variables @@ -1284,35 +1232,6 @@ usrns_shell_list() { done } -childs_json_list() { - # Print result - echo '[' - if [ -e "$V_USERS/$user/child.conf" ]; then - i=1 - childlistc=$(wc -l $V_USERS/$user/child.conf |cut -f -1 -d ' ') - for child in $(cat $V_USERS/$user/child.conf|cut -f 2 -d \');do - if [ "$i" -ne "$childlistc" ]; then - echo -e "\t\"$child\"," - else - echo -e "\t\"$child\"" - fi - i=$((i + 1)) - done - fi - echo ']' -} - -childs_shell_list() { - # Print result - echo "CHILDS" - echo "----------" - if [ -e "$V_USERS/$user/child.conf" ]; then - for child in $(cat $V_USERS/$user/child.conf|cut -f 2 -d \');do - echo "$child" - done - fi -} - get_usr_disk() { size='0'