Skip to content

Commit 1f91d7d

Browse files
committed
Fix wrong permission when restoring user backups
1 parent 5427c64 commit 1f91d7d

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

bin/v-restore-user

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,8 +407,11 @@ if [ "$web" != 'no' ] && [ ! -z "$WEB_SYSTEM" ]; then
407407
rm -rf $HOMEDIR/$user/web/$domain/public_html/*
408408
fi
409409
chmod u+w "$HOMEDIR/$user/web/$domain"
410+
[[ -d $HOMEDIR/$user/web/$domain/stats ]] && chmod u+w "$HOMEDIR/$user/web/$domain/stats"
410411
user_exec tar -xzpf $tmpdir/web/$domain/domain_data.tar.gz \
411-
-C "$HOMEDIR/$user/web/$domain/" --exclude='./logs/*'
412+
-C "$HOMEDIR/$user/web/$domain/" \
413+
--anchored \
414+
--exclude='logs/*'
412415
if [ "$?" -ne 0 ]; then
413416
rm -rf $tmpdir
414417
error="Can't unpack $domain data tarball"
@@ -771,7 +774,9 @@ if [ "$udir" != 'no' ]; then
771774
check_result "$E_PARSING" "$error"
772775
fi
773776

777+
chown "$user" "$tmpdir/user_dir"
774778
chown "$user" "$HOMEDIR/$user"
779+
chown "$user" "$HOMEDIR/$user/$user_dir"
775780
$BIN/v-extract-fs-archive "$user" "$tmpdir/user_dir/$user_dir.tar.gz" "$HOMEDIR/$user"
776781
cmdstatus="$?"
777782
chown root:root "$HOMEDIR/$user"

func/rebuild.sh

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,25 @@ rebuild_user_conf() {
5050
if [ -e "$HOMEDIR/$user/conf" ]; then
5151
chattr -i $HOMEDIR/$user/conf > /dev/null 2>&1
5252
fi
53-
mkdir -p $HOMEDIR/$user/conf
53+
54+
# Create default writeable folders
55+
mkdir -p \
56+
$HOMEDIR/$user/conf \
57+
$HOMEDIR/$user/.config \
58+
$HOMEDIR/$user/.cache \
59+
$HOMEDIR/$user/.local \
60+
$HOMEDIR/$user/.composer \
61+
$HOMEDIR/$user/.ssh
62+
5463
chmod a+x $HOMEDIR/$user
5564
chmod a+x $HOMEDIR/$user/conf
56-
chown $user:$user $HOMEDIR/$user
65+
chown $user:$user \
66+
$HOMEDIR/$user \
67+
$HOMEDIR/$user/.config \
68+
$HOMEDIR/$user/.cache \
69+
$HOMEDIR/$user/.local \
70+
$HOMEDIR/$user/.composer \
71+
$HOMEDIR/$user/.ssh
5772
chown root:root $HOMEDIR/$user/conf
5873

5974
$BIN/v-add-user-sftp-jail "$user"
@@ -511,7 +526,7 @@ rebuild_mail_domain_conf() {
511526

512527
# Adding mail directiry
513528
if [ ! -e $HOMEDIR/$user/mail/$domain_idn ]; then
514-
$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/mail/$domain_idn"
529+
mkdir "$HOMEDIR/$user/mail/$domain_idn"
515530
fi
516531

517532
# Adding catchall email

0 commit comments

Comments
 (0)