1111
1212# Argument defenition
1313user=$1
14- full=${2-no}
1514
1615# Includes
1716source $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'
2726is_object_valid 'user' 'USER' "$user"
2827is_object_unsuspended 'user' 'USER' "$user"
2928
3029
3130#----------------------------------------------------------#
3231# Action #
3332#----------------------------------------------------------#
33+ export PATH=$PATH:/usr/sbin
3434
3535# Get user variables
3636source $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'
4644shdw=$(grep ^$user: $shadow)
4745shdw3=$(echo "$shdw" | cut -f3 -d :)
4846shdw4=$(echo "$shdw" | cut -f4 -d :)
@@ -56,13 +54,11 @@ sed -i "/^$user:*/d" $shadow
5654echo "$user:$MD5:$shdw3:$shdw4:$shdw5:$shdw6:$shdw7:$shdw8:$shdw9" >> $shadow
5755chmod 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
6558mkdir -p $HOMEDIR/$user/conf
59+ chmod a+x $HOMEDIR/$user
60+ chmod a+x $HOMEDIR/$user/conf
61+ chown $user:$user $HOMEDIR/$user
6662chown $user:$user $HOMEDIR/$user/conf
6763
6864if [ ! -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
7979fi
8080
8181if [ ! -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
8987fi
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
9990if [ ! -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
10392fi
10493
10594if [ ! -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
10996fi
11097
11198
0 commit comments