mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-19 13:01:51 -07:00
removed child user support
This commit is contained in:
parent
e48992ccfc
commit
72781b5663
18 changed files with 36 additions and 422 deletions
|
@ -9,7 +9,7 @@
|
||||||
ip="$1"
|
ip="$1"
|
||||||
mask="$2"
|
mask="$2"
|
||||||
interface="${3-eth0}"
|
interface="${3-eth0}"
|
||||||
owner="${4-vesta}"
|
user="${4-vesta}"
|
||||||
ip_status="${5-shared}"
|
ip_status="${5-shared}"
|
||||||
ip_name="$6"
|
ip_name="$6"
|
||||||
|
|
||||||
|
@ -24,19 +24,16 @@ source $V_FUNC/domain_func.sh # for namehosting
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Checking arg number
|
# 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
|
# Checking argument format
|
||||||
format_validation 'ip' 'mask' 'interface'
|
format_validation 'ip' 'mask' 'interface' 'user'
|
||||||
|
|
||||||
# Checking system ip
|
# Checking system ip
|
||||||
is_sys_ip_free
|
is_sys_ip_free
|
||||||
|
|
||||||
# Checking owner
|
# Checking user
|
||||||
if [ ! -z "$owner" ]; then
|
is_user_valid "$user"
|
||||||
format_validation 'user'
|
|
||||||
is_user_valid "$owner"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Checking ip_status
|
# Checking ip_status
|
||||||
if [ ! -z "$ip_status" ]; then
|
if [ ! -z "$ip_status" ]; then
|
||||||
|
@ -84,10 +81,7 @@ namehost_ip_support
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Updating user conf
|
# Updating user conf
|
||||||
if [ ! -z "$owner" ]; then
|
increase_user_value "$user" '$IP_OWNED'
|
||||||
user="$owner"
|
|
||||||
increase_user_value "$user" '$IP_OWNED'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Adding task to the vesta pipe
|
# Adding task to the vesta pipe
|
||||||
if [ "$web_restart" = 'yes' ]; then
|
if [ "$web_restart" = 'yes' ]; then
|
||||||
|
|
|
@ -9,11 +9,9 @@
|
||||||
user="$1"
|
user="$1"
|
||||||
password="$2"
|
password="$2"
|
||||||
email="$3"
|
email="$3"
|
||||||
role="$4"
|
package="${4-default}"
|
||||||
owner="${5-vesta}"
|
fname=$5
|
||||||
package="${6-default}"
|
lname=$6
|
||||||
fname=$7
|
|
||||||
lname=$8
|
|
||||||
|
|
||||||
# Importing variables
|
# Importing variables
|
||||||
source $VESTA/conf/vars.conf
|
source $VESTA/conf/vars.conf
|
||||||
|
@ -25,29 +23,16 @@ source $V_FUNC/shared_func.sh
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Checking arg number
|
# 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
|
# Checking argument format
|
||||||
format_validation 'user' 'password' 'email' 'role' 'owner' 'package'
|
format_validation 'user' 'password' 'email' 'package' 'fname' 'lname'
|
||||||
format_validation 'fname' 'lname'
|
|
||||||
|
|
||||||
# Checking user
|
# Checking user
|
||||||
is_user_free "$user"
|
is_user_free "$user"
|
||||||
|
|
||||||
# Checking 'vesta' user creation
|
# Checking package
|
||||||
if [ "$user" != 'vesta' ]; then
|
is_package_valid "$package"
|
||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
@ -149,12 +134,9 @@ LNAME='$lname'
|
||||||
PACKAGE='$package'
|
PACKAGE='$package'
|
||||||
$package_data
|
$package_data
|
||||||
SUSPENDED='no'
|
SUSPENDED='no'
|
||||||
OWNER='$owner'
|
|
||||||
ROLE='$role'
|
|
||||||
CONTACT='$email'
|
CONTACT='$email'
|
||||||
REPORTS='yes'
|
REPORTS='yes'
|
||||||
IP_OWNED='0'
|
IP_OWNED='0'
|
||||||
U_CHILDS='0'
|
|
||||||
U_DIR_DISK='0'
|
U_DIR_DISK='0'
|
||||||
U_DISK='0'
|
U_DISK='0'
|
||||||
U_BANDWIDTH='0'
|
U_BANDWIDTH='0'
|
||||||
|
@ -165,15 +147,9 @@ U_DATABASES='0'
|
||||||
U_MAIL_DOMAINS='0'
|
U_MAIL_DOMAINS='0'
|
||||||
DATE='$V_DATE'" > $V_USERS/$user/user.conf
|
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
|
# Hiding password
|
||||||
dt="$(date +%m-%d-%y" "%H:%m:%S)"
|
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
|
# Logging
|
||||||
log_event 'system' "$V_EVENT"
|
log_event 'system' "$V_EVENT"
|
||||||
|
|
|
@ -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
|
|
|
@ -368,14 +368,6 @@ if [ -e "$V_USERS/$user/billing.log" ]; then
|
||||||
cp -r $V_USERS/$user/billing.log $tmpdir/vesta/
|
cp -r $V_USERS/$user/billing.log $tmpdir/vesta/
|
||||||
fi
|
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 [ -e "$V_USERS/$user/history.log" ]; then
|
||||||
if [ -z "$output" ]; then
|
if [ -z "$output" ]; then
|
||||||
echo -e "\t$(date +%H:%m:%S) history.log"
|
echo -e "\t$(date +%H:%m:%S) history.log"
|
||||||
|
|
|
@ -45,20 +45,13 @@ is_ip_key_empty '$U_SYS_USERS'
|
||||||
# Action #
|
# 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
|
# 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
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
|
@ -33,9 +33,10 @@ is_user_valid
|
||||||
# Checking user is active
|
# Checking user is active
|
||||||
is_user_suspended
|
is_user_suspended
|
||||||
|
|
||||||
# Checking user childs
|
# Checking user vesta
|
||||||
is_user_parent
|
if [ "$user" = 'vesta' ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Action #
|
# Action #
|
||||||
|
@ -111,18 +112,6 @@ if [ ! -z "$statp" ]; then
|
||||||
done
|
done
|
||||||
fi
|
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
|
# Removing system user
|
||||||
userdel -f $user
|
userdel -f $user
|
||||||
rm -rf $V_HOME/$user
|
rm -rf $V_HOME/$user
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -38,9 +38,9 @@ conf="$V_USERS/$user/user.conf"
|
||||||
# Defining fileds to select
|
# Defining fileds to select
|
||||||
fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES
|
fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES
|
||||||
$DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS
|
$DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS
|
||||||
$DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $MAX_CHILDS $SUSPENDED
|
$DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $SUSPENDED $IP_OWNED
|
||||||
$OWNER $ROLE $IP_OWNED $U_CHILDS $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS
|
$U_DISK $U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES
|
||||||
$U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $CONTACT $DATE'
|
$U_MAIL_DOMAINS $CONTACT $DATE'
|
||||||
|
|
||||||
# Listing user
|
# Listing user
|
||||||
case $format in
|
case $format in
|
||||||
|
|
|
@ -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
|
|
|
@ -34,9 +34,6 @@ is_user_valid
|
||||||
# Action #
|
# Action #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Get user owner
|
|
||||||
owner=$(get_user_value '$OWNER')
|
|
||||||
|
|
||||||
# Defining fileds to select
|
# Defining fileds to select
|
||||||
fields='$IP $OWNER $STATUS $NAME'
|
fields='$IP $OWNER $STATUS $NAME'
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ format_validation 'limit' 'offset'
|
||||||
# Defining fields
|
# Defining fields
|
||||||
fields='$PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES $DATABASES $MAIL_DOMAINS
|
fields='$PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES $DATABASES $MAIL_DOMAINS
|
||||||
$MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS $DISK_QUOTA $BANDWIDTH $NS1 $NS2
|
$MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS $DISK_QUOTA $BANDWIDTH $NS1 $NS2
|
||||||
$SHELL $BACKUPS $WEB_TPL $MAX_CHILDS'
|
$SHELL $BACKUPS $WEB_TPL'
|
||||||
|
|
||||||
# Listing domains
|
# Listing domains
|
||||||
case $format in
|
case $format in
|
||||||
|
|
|
@ -29,9 +29,9 @@ format_validation 'limit' 'offset'
|
||||||
# Defining fileds to select
|
# Defining fileds to select
|
||||||
fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES
|
fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES
|
||||||
$DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS
|
$DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS
|
||||||
$DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $MAX_CHILDS $SUSPENDED
|
$DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $SUSPENDED $IP_OWNED
|
||||||
$OWNER $ROLE $IP_OWNED $U_CHILDS $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS
|
$U_DISK $U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES
|
||||||
$U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $CONTACT $DATE'
|
$U_MAIL_DOMAINS $CONTACT $DATE'
|
||||||
|
|
||||||
# Listing domains
|
# Listing domains
|
||||||
case $format in
|
case $format in
|
||||||
|
|
|
@ -111,7 +111,7 @@ for user in $user_list; do
|
||||||
DATE=$(date -d "$(date +'%m/01') -1day" +%m-%d-%y)
|
DATE=$(date -d "$(date +'%m/01') -1day" +%m-%d-%y)
|
||||||
|
|
||||||
# Compiling report string
|
# 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_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_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'"
|
v_str="$v_str U_DNS_DOMAINS='$U_DNS_DOMAINS' U_DATABASES='$U_DATABASES'"
|
||||||
|
|
|
@ -12,4 +12,3 @@ BANDWIDTH='10000'
|
||||||
NS='ns1.localhost,ns2.localhost'
|
NS='ns1.localhost,ns2.localhost'
|
||||||
SHELL='nologin'
|
SHELL='nologin'
|
||||||
BACKUPS='3'
|
BACKUPS='3'
|
||||||
MAX_CHILDS='0'
|
|
||||||
|
|
|
@ -12,4 +12,3 @@ BANDWIDTH='50000'
|
||||||
NS='ns1.localhost,ns2.localhost'
|
NS='ns1.localhost,ns2.localhost'
|
||||||
SHELL='nologin'
|
SHELL='nologin'
|
||||||
BACKUPS='5'
|
BACKUPS='5'
|
||||||
MAX_CHILDS='0'
|
|
||||||
|
|
|
@ -441,7 +441,7 @@ ip_user_json_list() {
|
||||||
i='1' # iterator
|
i='1' # iterator
|
||||||
end=$(($limit + $offset)) # last string
|
end=$(($limit + $offset)) # last string
|
||||||
user_ip=$(grep -l "OWNER='$user'" $V_IPS/*)
|
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 -)
|
cut -f 1 -d -)
|
||||||
|
|
||||||
# Definining ip list
|
# Definining ip list
|
||||||
|
@ -510,7 +510,7 @@ ip_user_shell_list() {
|
||||||
i='1' # iterator
|
i='1' # iterator
|
||||||
end=$(($limit + $offset)) # last string
|
end=$(($limit + $offset)) # last string
|
||||||
user_ip=$(grep -l "OWNER='$user'" $V_IPS/*)
|
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 -)
|
cut -f 1 -d -)
|
||||||
|
|
||||||
# Definining ip list
|
# Definining ip list
|
||||||
|
@ -545,7 +545,7 @@ ip_user_shell_list() {
|
||||||
|
|
||||||
ip_add_vesta() {
|
ip_add_vesta() {
|
||||||
# Filling ip values
|
# Filling ip values
|
||||||
ip_data="OWNER='$owner'"
|
ip_data="OWNER='$user'"
|
||||||
ip_data="$ip_data\nSTATUS='$ip_status'"
|
ip_data="$ip_data\nSTATUS='$ip_status'"
|
||||||
ip_data="$ip_data\nNAME='$ip_name'"
|
ip_data="$ip_data\nNAME='$ip_name'"
|
||||||
ip_data="$ip_data\nU_SYS_USERS=''"
|
ip_data="$ip_data\nU_SYS_USERS=''"
|
||||||
|
|
|
@ -602,7 +602,6 @@ is_package_avalable() {
|
||||||
DNS_DOMAINS='0'
|
DNS_DOMAINS='0'
|
||||||
DISK_QUOTA='0'
|
DISK_QUOTA='0'
|
||||||
BANDWIDTH='0'
|
BANDWIDTH='0'
|
||||||
MAX_CHILDS='0'
|
|
||||||
|
|
||||||
# Parsing package
|
# Parsing package
|
||||||
pkg_data=$(cat $V_PKG/$package.pkg)
|
pkg_data=$(cat $V_PKG/$package.pkg)
|
||||||
|
@ -617,8 +616,7 @@ is_package_avalable() {
|
||||||
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
|
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
|
||||||
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
|
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
|
||||||
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
|
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
|
||||||
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ] ||\
|
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
|
||||||
[ "$MAX_CHILDS" -lt "$U_CHILDS" ]; then
|
|
||||||
echo "Error: Upgrade package"
|
echo "Error: Upgrade package"
|
||||||
log_event 'debug' "$E_PKG_UPGRADE $v_log"
|
log_event 'debug' "$E_PKG_UPGRADE $v_log"
|
||||||
exit $E_PKG_UPGRADE
|
exit $E_PKG_UPGRADE
|
||||||
|
@ -722,37 +720,6 @@ is_user_free() {
|
||||||
fi
|
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() {
|
is_package_valid() {
|
||||||
if [ ! -e "$V_PKG/$package.pkg" ]; then
|
if [ ! -e "$V_PKG/$package.pkg" ]; then
|
||||||
echo "Error: package is not exist"
|
echo "Error: package is not exist"
|
||||||
|
@ -902,14 +869,10 @@ NS='$NS'
|
||||||
SHELL='$SHELL'
|
SHELL='$SHELL'
|
||||||
BACKUPS='$BACKUPS'
|
BACKUPS='$BACKUPS'
|
||||||
WEB_TPL='$WEB_TPL'
|
WEB_TPL='$WEB_TPL'
|
||||||
MAX_CHILDS='$MAX_CHILDS'
|
|
||||||
SUSPENDED='$SUSPENDED'
|
SUSPENDED='$SUSPENDED'
|
||||||
OWNER='$OWNER'
|
|
||||||
ROLE='$ROLE'
|
|
||||||
CONTACT='$CONTACT'
|
CONTACT='$CONTACT'
|
||||||
REPORTS='$REPORTS'
|
REPORTS='$REPORTS'
|
||||||
IP_OWNED='$IP_OWNED'
|
IP_OWNED='$IP_OWNED'
|
||||||
U_CHILDS='$U_CHILDS'
|
|
||||||
U_DIR_DISK='$U_DIR_DISK'
|
U_DIR_DISK='$U_DIR_DISK'
|
||||||
U_DISK='$U_DISK'
|
U_DISK='$U_DISK'
|
||||||
U_BANDWIDTH='$U_BANDWIDTH'
|
U_BANDWIDTH='$U_BANDWIDTH'
|
||||||
|
@ -973,21 +936,6 @@ decrease_user_value() {
|
||||||
fi
|
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
|
# Json listing function
|
||||||
v_json_list() {
|
v_json_list() {
|
||||||
# Definigng variables
|
# Definigng variables
|
||||||
|
@ -1284,35 +1232,6 @@ usrns_shell_list() {
|
||||||
done
|
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() {
|
get_usr_disk() {
|
||||||
size='0'
|
size='0'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue