Skip to content

Commit c1afcd1

Browse files
committed
improved user rebuild function
1 parent 82862dd commit c1afcd1

File tree

3 files changed

+26
-34
lines changed

3 files changed

+26
-34
lines changed

bin/v_add_user

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fi
9494

9595

9696
# Set permissions
97-
chmod -R a+x $HOMEDIR/$user
97+
chmod a+x $HOMEDIR/$user
9898

9999
# Checking quota
100100
if [ ! -z "$DISK_QUOTA" ] && [ "$DISK_QUOTA" != 'no' ]; then

bin/v_rebuild_user

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
# Argument defenition
1313
user=$1
14-
full=${2-no}
1514

1615
# Includes
1716
source $VESTA/conf/vesta.conf
@@ -22,27 +21,26 @@ source $VESTA/func/main.sh
2221
# Verifications #
2322
#----------------------------------------------------------#
2423

25-
check_args '1' "$#" 'user [full]'
26-
validate_format 'user' 'full'
24+
check_args '1' "$#" 'user'
25+
validate_format 'user'
2726
is_object_valid 'user' 'USER' "$user"
2827
is_object_unsuspended 'user' 'USER' "$user"
2928

3029

3130
#----------------------------------------------------------#
3231
# Action #
3332
#----------------------------------------------------------#
33+
export PATH=$PATH:/usr/sbin
3434

3535
# Get user variables
3636
source $USER_DATA/user.conf
3737

3838
# Rebuild user
39-
shell=$(/usr/bin/chsh --list-shells | grep -w "$SHELL" |head -n1)
40-
/usr/sbin/adduser "$user" -s "$shell" -c "$CONTACT" -m -d "$HOMEDIR/$user" \
41-
&>/dev/null
39+
shell=$(chsh --list-shells | grep -w "$SHELL" |head -n1)
40+
adduser "$user" -s "$shell" -c "$CONTACT" -m -d "$HOMEDIR/$user" &>/dev/null
4241

43-
# Change password
44-
#/usr/sbin/usermod -p $MD5 $user
45-
shadow=/tmp/shadow
42+
# Update password
43+
shadow='/etc/shadow'
4644
shdw=$(grep ^$user: $shadow)
4745
shdw3=$(echo "$shdw" | cut -f3 -d :)
4846
shdw4=$(echo "$shdw" | cut -f4 -d :)
@@ -56,13 +54,11 @@ sed -i "/^$user:*/d" $shadow
5654
echo "$user:$MD5:$shdw3:$shdw4:$shdw5:$shdw6:$shdw7:$shdw8:$shdw9" >> $shadow
5755
chmod u-w $shadow
5856

59-
# Change shell
60-
/usr/bin/chsh -s "$shell" "$user" &>/dev/null
61-
6257
# Building directory tree
63-
mkdir -p $HOMEDIR/$user
64-
chmod -R a+x $HOMEDIR/$user
6558
mkdir -p $HOMEDIR/$user/conf
59+
chmod a+x $HOMEDIR/$user
60+
chmod a+x $HOMEDIR/$user/conf
61+
chown $user:$user $HOMEDIR/$user
6662
chown $user:$user $HOMEDIR/$user/conf
6763

6864
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
@@ -73,39 +69,30 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
7369
chmod 751 $HOMEDIR/$user/web
7470
chmod 777 $HOMEDIR/$user/tmp
7571
chown $user:$user $HOMEDIR/$user/web
76-
if [ "$full" = 'yes' ]; then
77-
$BIN/v_rebuild_web_domains $user
78-
fi
72+
$BIN/v_rebuild_web_domains $user
73+
fi
74+
75+
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
76+
mkdir -p $HOMEDIR/$user/conf/dns
77+
chmod 751 $HOMEDIR/$user/conf/dns
78+
$BIN/v_rebuild_dns_domains $user
7979
fi
8080

8181
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
8282
mkdir -p $HOMEDIR/$user/conf/mail
8383
mkdir -p $HOMEDIR/$user/mail
8484
chmod 751 $HOMEDIR/$user/mail
8585
chmod 751 $HOMEDIR/$user/conf/mail
86-
if [ "$full" = 'yes' ]; then
87-
$BIN/v_rebuild_mail_domains $user
88-
fi
86+
$BIN/v_rebuild_mail_domains $user
8987
fi
9088

91-
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
92-
mkdir -p $HOMEDIR/$user/conf/dns
93-
chmod 751 $HOMEDIR/$user/conf/dns
94-
if [ "$full" = 'yes' ]; then
95-
$BIN/v_rebuild_dns_domains $user
96-
fi
97-
fi
9889

9990
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
100-
if [ "$full" = 'yes' ]; then
101-
$BIN/v_rebuild_databases $user
102-
fi
91+
$BIN/v_rebuild_databases $user
10392
fi
10493

10594
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
106-
if [ "$full" = 'yes' ]; then
107-
$BIN/v_rebuild_cron_jobs $user
108-
fi
95+
$BIN/v_rebuild_cron_jobs $user
10996
fi
11097

11198

bin/v_update_user_counters

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ for user in $user_list; do
169169
fi
170170
done
171171

172+
# Checking backup
173+
for backup_str in $(cat $USER_DATA/backup.conf); do
174+
U_BACKUPS=$((U_BACKUPS +1))
175+
done
176+
172177
U_DISK=$DISK
173178
U_BANDWIDTH=$BANDWIDTH
174179
update_user_value "$user" '$SUSPENDED_USERS' "$SUSPENDED_USERS"

0 commit comments

Comments
 (0)