Skip to content

Commit cfe677c

Browse files
committed
Merged with upstream
2 parents 758ec7d + e81fb6c commit cfe677c

File tree

2 files changed

+919
-726
lines changed

2 files changed

+919
-726
lines changed

bin/v-rebuild-user

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<<<<<<< HEAD
12
#!/bin/bash
23
# info: rebuild system user
34
# options: USER [RESTART]
@@ -155,3 +156,162 @@ fi
155156
log_event "$OK" "$EVENT"
156157

157158
exit
159+
=======
160+
#!/bin/bash
161+
# info: rebuild system user
162+
# options: USER [RESTART]
163+
#
164+
# The function rebuilds system user account.
165+
166+
167+
#----------------------------------------------------------#
168+
# Variable&Function #
169+
#----------------------------------------------------------#
170+
171+
# Argument defenition
172+
user=$1
173+
restart=$2
174+
175+
# Includes
176+
source $VESTA/conf/vesta.conf
177+
source $VESTA/func/main.sh
178+
179+
180+
#----------------------------------------------------------#
181+
# Verifications #
182+
#----------------------------------------------------------#
183+
184+
check_args '1' "$#" 'USER [RESTART]'
185+
validate_format 'user'
186+
is_object_valid 'user' 'USER' "$user"
187+
is_object_unsuspended 'user' 'USER' "$user"
188+
189+
190+
#----------------------------------------------------------#
191+
# Action #
192+
#----------------------------------------------------------#
193+
export PATH=$PATH:/usr/sbin
194+
195+
# Get user variables
196+
source $USER_DATA/user.conf
197+
198+
# Rebuild user
199+
shell=$(chsh --list-shells | grep -w "$SHELL" |head -n1)
200+
adduser "$user" -s "$shell" -c "$CONTACT" -m -d "$HOMEDIR/$user" &>/dev/null
201+
202+
# Update password
203+
shadow='/etc/shadow'
204+
shdw=$(grep ^$user: $shadow)
205+
shdw3=$(echo "$shdw" | cut -f3 -d :)
206+
shdw4=$(echo "$shdw" | cut -f4 -d :)
207+
shdw5=$(echo "$shdw" | cut -f5 -d :)
208+
shdw6=$(echo "$shdw" | cut -f6 -d :)
209+
shdw7=$(echo "$shdw" | cut -f7 -d :)
210+
shdw8=$(echo "$shdw" | cut -f8 -d :)
211+
shdw9=$(echo "$shdw" | cut -f9 -d :)
212+
chmod u+w $shadow
213+
sed -i "/^$user:*/d" $shadow
214+
echo "$user:$MD5:$shdw3:$shdw4:$shdw5:$shdw6:$shdw7:$shdw8:$shdw9" >> $shadow
215+
chmod u-w $shadow
216+
217+
# Building directory tree
218+
mkdir -p $HOMEDIR/$user/conf
219+
chmod a+x $HOMEDIR/$user
220+
chmod a+x $HOMEDIR/$user/conf
221+
chown $user:$user $HOMEDIR/$user
222+
chown $user:$user $HOMEDIR/$user/conf
223+
224+
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
225+
mkdir -p $HOMEDIR/$user/conf/web
226+
mkdir -p $HOMEDIR/$user/web
227+
mkdir -p $HOMEDIR/$user/tmp
228+
chmod 751 $HOMEDIR/$user/conf/web
229+
chmod 751 $HOMEDIR/$user/web
230+
chmod 771 $HOMEDIR/$user/tmp
231+
chown $user:$user $HOMEDIR/$user/web
232+
$BIN/v-rebuild-web-domains $user $restart
233+
fi
234+
235+
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
236+
mkdir -p $HOMEDIR/$user/conf/dns
237+
chmod 751 $HOMEDIR/$user/conf/dns
238+
$BIN/v-rebuild-dns-domains $user $restart
239+
fi
240+
241+
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
242+
mkdir -p $HOMEDIR/$user/conf/mail
243+
mkdir -p $HOMEDIR/$user/mail
244+
chmod 751 $HOMEDIR/$user/mail
245+
chmod 751 $HOMEDIR/$user/conf/mail
246+
$BIN/v-rebuild-mail-domains $user
247+
fi
248+
249+
250+
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
251+
$BIN/v-rebuild-databases $user
252+
fi
253+
254+
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
255+
$BIN/v-rebuild-cron-jobs $user $restart
256+
fi
257+
258+
259+
#----------------------------------------------------------#
260+
# Vesta #
261+
#----------------------------------------------------------#
262+
263+
# Creating configuration files and pipes
264+
chmod 770 $USER_DATA
265+
touch $USER_DATA/backup.conf
266+
chmod 660 $USER_DATA/backup.conf
267+
touch $USER_DATA/history.log
268+
chmod 660 $USER_DATA/history.log
269+
touch $USER_DATA/stats.log
270+
chmod 660 $USER_DATA/stats.log
271+
272+
sed -i "/ $user$/d" $VESTA/data/queue/disk.pipe
273+
echo "v-update-user-disk $user" >> $VESTA/data/queue/disk.pipe
274+
275+
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
276+
mkdir -p $USER_DATA/ssl
277+
chmod 770 $USER_DATA/ssl
278+
touch $USER_DATA/web.conf
279+
chmod 660 $USER_DATA/web.conf
280+
if [ "$(grep -w $user $VESTA/data/queue/traffic.pipe)" ]; then
281+
echo "$BIN/v-update-web-domains-traff $user" \
282+
>> $VESTA/data/queue/traffic.pipe
283+
fi
284+
echo "v-update-web-domains-disk $user" >> $VESTA/data/queue/disk.pipe
285+
fi
286+
287+
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
288+
mkdir -p $USER_DATA/dns
289+
chmod 770 $USER_DATA/dns
290+
touch $USER_DATA/dns.conf
291+
chmod 660 $USER_DATA/dns.conf
292+
fi
293+
294+
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
295+
mkdir -p $USER_DATA/mail
296+
chmod 770 $USER_DATA/mail
297+
touch $USER_DATA/mail.conf
298+
chmod 660 $USER_DATA/mail.conf
299+
echo "v-update-mail-domains-disk $user" >> $VESTA/data/queue/disk.pipe
300+
fi
301+
302+
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
303+
touch $USER_DATA/db.conf
304+
chmod 660 $USER_DATA/db.conf
305+
echo "v-update-databases-disk $user" >> $VESTA/data/queue/disk.pipe
306+
fi
307+
308+
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
309+
touch $USER_DATA/cron.conf
310+
chmod 660 $USER_DATA/cron.conf
311+
fi
312+
313+
# Logging
314+
log_event "$OK" "$EVENT"
315+
316+
exit
317+
>>>>>>> e81fb6c7307a777644ccaaf4dd15c5ac51b84ebc

0 commit comments

Comments
 (0)