Skip to content

Commit 7fede99

Browse files
committed
added child list function
1 parent 3013e24 commit 7fede99

File tree

4 files changed

+99
-7
lines changed

4 files changed

+99
-7
lines changed

bin/v_add_sys_user

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,8 @@ U_MAIL_DOMAINS='0'
166166
DATE='$V_DATE'" > $V_USERS/$user/user.conf
167167

168168
# Filling owner config
169-
ROLE=$(echo "$role" | tr "[:lower:]" "[:upper:]")
170169
if [ "$user" != 'vesta' ]; then
171-
echo "$ROLE='$user'" >> $V_USERS/$owner/child.conf
170+
echo "USER='$user'" >> $V_USERS/$owner/child.conf
172171
increase_user_value "$owner" 'U_CHILDS'
173172
fi
174173

bin/v_del_sys_user

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,14 @@ if [ ! -z "$statp" ]; then
111111
done
112112
fi
113113

114+
# Deleteing user from parent
115+
childc=$(grep -n "USER='$user'" $V_USERS/child.conf |cut -d : -f 1|sort -n -r)
116+
if [ ! -z "$childc" ]; then
117+
for str in $childc; do
118+
sed -i "$str d" $V_USERS/child.conf
119+
done
120+
fi
121+
114122
# Removing system user
115123
userdel -f $user
116124
rm -rf $V_HOME/$user

bin/v_list_sys_user_childs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/bin/bash
2+
# info: listing user childs
3+
4+
#----------------------------------------------------------#
5+
# Variable&Function #
6+
#----------------------------------------------------------#
7+
8+
# Argument defenition
9+
user="$1"
10+
format="${2-shell}"
11+
limit="${3-1000}"
12+
offset="${4-1}"
13+
14+
# Importing variables
15+
source $VESTA/conf/vars.conf
16+
source $V_FUNC/shared_func.sh
17+
18+
19+
#----------------------------------------------------------#
20+
# Verifications #
21+
#----------------------------------------------------------#
22+
23+
# Checking arg number
24+
check_args '1' "$#" 'user [format] [limit] [offset]'
25+
26+
# Checking argument format
27+
format_validation 'user' 'limit' 'offset'
28+
29+
# Checking user
30+
is_user_valid
31+
32+
33+
#----------------------------------------------------------#
34+
# Action #
35+
#----------------------------------------------------------#
36+
37+
# Defining fileds to select
38+
fields='$USER'
39+
40+
# Listing domains
41+
case $format in
42+
json) childs_json_list ;;
43+
shell) childs_shell_list ;;
44+
*) check_args '1' '0' 'user [format] [limit] [offset]'
45+
esac
46+
47+
48+
#----------------------------------------------------------#
49+
# Vesta #
50+
#----------------------------------------------------------#
51+
52+
# Logging
53+
log_event 'system' "$V_EVENT"
54+
55+
exit $OK

func/shared_func.sh

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,13 +1235,14 @@ usr_shell_list() {
12351235
}
12361236

12371237
usrns_json_list() {
1238-
ns=$(grep "NS[1|2]=" $V_USERS/$user/user.conf |cut -f 2 -d \')
1238+
ns=$(grep "^NS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
12391239
# Print top bracket
12401240
echo '['
12411241
i=1
1242+
nslistc=$(echo -e "${ns//,/\n}"|wc -l)
12421243
# Listing servers
1243-
for nameserver in $ns;do
1244-
if [ "$i" -eq 1 ]; then
1244+
for nameserver in ${ns//,/ };do
1245+
if [ "$i" -ne "$nslistc" ]; then
12451246
echo -e "\t\"$nameserver\","
12461247
else
12471248
echo -e "\t\"$nameserver\""
@@ -1253,15 +1254,44 @@ usrns_json_list() {
12531254
}
12541255

12551256
usrns_shell_list() {
1256-
ns=$(grep "NS[1|2]=" $V_USERS/$user/user.conf |cut -f 2 -d \')
1257+
ns=$(grep "^NS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
12571258
# Print result
12581259
echo "NAMESERVER"
12591260
echo "----------"
1260-
for nameserver in $ns;do
1261+
for nameserver in ${ns//,/ };do
12611262
echo "$nameserver"
12621263
done
12631264
}
12641265

1266+
childs_json_list() {
1267+
# Print result
1268+
echo '['
1269+
if [ -e "$V_USERS/$user/child.conf" ]; then
1270+
i=1
1271+
childlistc=$(wc -l $V_USERS/$user/child.conf |cut -f -1 -d ' ')
1272+
for child in $(cat $V_USERS/$user/child.conf|cut -f 2 -d \');do
1273+
if [ "$i" -ne "$childlistc" ]; then
1274+
echo -e "\t\"$child\","
1275+
else
1276+
echo -e "\t\"$child\""
1277+
fi
1278+
i=$((i + 1))
1279+
done
1280+
fi
1281+
echo ']'
1282+
}
1283+
1284+
childs_shell_list() {
1285+
# Print result
1286+
echo "CHILDS"
1287+
echo "----------"
1288+
if [ -e "$V_USERS/$user/child.conf" ]; then
1289+
for child in $(cat $V_USERS/$user/child.conf|cut -f 2 -d \');do
1290+
echo "$child"
1291+
done
1292+
fi
1293+
}
1294+
12651295
get_usr_disk() {
12661296
size='0'
12671297

0 commit comments

Comments
 (0)