@@ -16,6 +16,10 @@ restart=$2
1616# Includes
1717source $VESTA /conf/vesta.conf
1818source $VESTA /func/main.sh
19+ source $VESTA /func/rebuild.sh
20+
21+ # Export sbin
22+ export PATH=$PATH :/usr/sbin
1923
2024
2125# ----------------------------------------------------------#
@@ -31,131 +35,15 @@ is_object_unsuspended 'user' 'USER' "$user"
3135# ----------------------------------------------------------#
3236# Action #
3337# ----------------------------------------------------------#
34- export PATH=$PATH :/usr/sbin
35-
36- # Get user variables
37- source $USER_DATA /user.conf
3838
3939# Rebuild user
40- shell=$( chsh --list-shells | grep -w " $SHELL " | head -n1)
41- adduser " $user " -s " $shell " -c " $CONTACT " -m -d " $HOMEDIR /$user " & > /dev/null
42-
43- # Update user shell
44- shell_path=$( /usr/bin/chsh --list-shells | grep -w " $SHELL " | head -n1)
45- /usr/bin/chsh -s " $shell_path " " $user " & > /dev/null
46-
47- # Update password
48- shadow=' /etc/shadow'
49- shdw=$( grep ^$user : $shadow )
50- shdw3=$( echo " $shdw " | cut -f3 -d :)
51- shdw4=$( echo " $shdw " | cut -f4 -d :)
52- shdw5=$( echo " $shdw " | cut -f5 -d :)
53- shdw6=$( echo " $shdw " | cut -f6 -d :)
54- shdw7=$( echo " $shdw " | cut -f7 -d :)
55- shdw8=$( echo " $shdw " | cut -f8 -d :)
56- shdw9=$( echo " $shdw " | cut -f9 -d :)
57- chmod u+w $shadow
58- sed -i " /^$user :*/d" $shadow
59- echo " $user :$MD5 :$shdw3 :$shdw4 :$shdw5 :$shdw6 :$shdw7 :$shdw8 :$shdw9 " >> $shadow
60- chmod u-w $shadow
61-
62- # Building directory tree
63- mkdir -p $HOMEDIR /$user /conf
64- chmod a+x $HOMEDIR /$user
65- chmod a+x $HOMEDIR /$user /conf
66- chown $user :$user $HOMEDIR /$user
67- chown root:root $HOMEDIR /$user /conf
68- chattr +i $HOMEDIR /$user /conf
69-
70- if [ ! -z " $WEB_SYSTEM " ] && [ " $WEB_SYSTEM " != ' no' ]; then
71- mkdir -p $HOMEDIR /$user /conf/web
72- mkdir -p $HOMEDIR /$user /web
73- mkdir -p $HOMEDIR /$user /tmp
74- chmod 751 $HOMEDIR /$user /conf/web
75- chmod 751 $HOMEDIR /$user /web
76- chmod 771 $HOMEDIR /$user /tmp
77- chown $user :$user $HOMEDIR /$user /web
78- $BIN /v-rebuild-web-domains $user $restart
79- fi
80-
81- if [ ! -z " $DNS_SYSTEM " ] && [ " $DNS_SYSTEM " != ' no' ]; then
82- mkdir -p $HOMEDIR /$user /conf/dns
83- chmod 751 $HOMEDIR /$user /conf/dns
84- $BIN /v-rebuild-dns-domains $user $restart
85- fi
86-
87- if [ ! -z " $MAIL_SYSTEM " ] && [ " $MAIL_SYSTEM " != ' no' ]; then
88- mkdir -p $HOMEDIR /$user /conf/mail
89- mkdir -p $HOMEDIR /$user /mail
90- chmod 751 $HOMEDIR /$user /mail
91- chmod 751 $HOMEDIR /$user /conf/mail
92- $BIN /v-rebuild-mail-domains $user
93- fi
94-
95-
96- if [ ! -z " $DB_SYSTEM " ] && [ " $DB_SYSTEM " != ' no' ]; then
97- $BIN /v-rebuild-databases $user
98- fi
99-
100- if [ ! -z " $CRON_SYSTEM " ] && [ " $CRON_SYSTEM " != ' no' ]; then
101- $BIN /v-rebuild-cron-jobs $user $restart
102- fi
40+ rebuild_user_conf
10341
10442
10543# ----------------------------------------------------------#
10644# Vesta #
10745# ----------------------------------------------------------#
10846
109- # Creating configuration files and pipes
110- chmod 770 $USER_DATA
111- touch $USER_DATA /backup.conf
112- chmod 660 $USER_DATA /backup.conf
113- touch $USER_DATA /history.log
114- chmod 660 $USER_DATA /history.log
115- touch $USER_DATA /stats.log
116- chmod 660 $USER_DATA /stats.log
117-
118- sed -i " / $user $/d" $VESTA /data/queue/disk.pipe
119- echo " $BIN /v-update-user-disk $user " >> $VESTA /data/queue/disk.pipe
120-
121- if [ ! -z " $WEB_SYSTEM " ] && [ " $WEB_SYSTEM " != ' no' ]; then
122- mkdir -p $USER_DATA /ssl
123- chmod 770 $USER_DATA /ssl
124- touch $USER_DATA /web.conf
125- chmod 660 $USER_DATA /web.conf
126- if [ " $( grep -w $user $VESTA /data/queue/traffic.pipe) " ]; then
127- echo " $BIN /v-update-web-domains-traff $user " \
128- >> $VESTA /data/queue/traffic.pipe
129- fi
130- echo " $BIN /v-update-web-domains-disk $user " >> $VESTA /data/queue/disk.pipe
131- fi
132-
133- if [ ! -z " $DNS_SYSTEM " ] && [ " $DNS_SYSTEM " != ' no' ]; then
134- mkdir -p $USER_DATA /dns
135- chmod 770 $USER_DATA /dns
136- touch $USER_DATA /dns.conf
137- chmod 660 $USER_DATA /dns.conf
138- fi
139-
140- if [ ! -z " $MAIL_SYSTEM " ] && [ " $MAIL_SYSTEM " != ' no' ]; then
141- mkdir -p $USER_DATA /mail
142- chmod 770 $USER_DATA /mail
143- touch $USER_DATA /mail.conf
144- chmod 660 $USER_DATA /mail.conf
145- echo " $BIN /v-update-mail-domains-disk $user " >> $VESTA /data/queue/disk.pipe
146- fi
147-
148- if [ ! -z " $DB_SYSTEM " ] && [ " $DB_SYSTEM " != ' no' ]; then
149- touch $USER_DATA /db.conf
150- chmod 660 $USER_DATA /db.conf
151- echo " $BIN /v-update-databases-disk $user " >> $VESTA /data/queue/disk.pipe
152- fi
153-
154- if [ ! -z " $CRON_SYSTEM " ] && [ " $CRON_SYSTEM " != ' no' ]; then
155- touch $USER_DATA /cron.conf
156- chmod 660 $USER_DATA /cron.conf
157- fi
158-
15947# Logging
16048log_event " $OK " " $EVENT "
16149
0 commit comments