diff --git a/bin/v-add-mail-domain b/bin/v-add-mail-domain index 0ee775c9..19f4d197 100755 --- a/bin/v-add-mail-domain +++ b/bin/v-add-mail-domain @@ -43,17 +43,12 @@ is_package_full 'MAIL_DOMAINS' # Action # #----------------------------------------------------------# -# Adding domain directory +# Adding domain directory and necessary files mkdir $HOMEDIR/$user/conf/mail/$domain +mkdir $HOMEDIR/$user/mail/$domain_idn touch $HOMEDIR/$user/conf/mail/$domain/aliases touch $HOMEDIR/$user/conf/mail/$domain/protection touch $HOMEDIR/$user/conf/mail/$domain/passwd -chown -R exim:mail $HOMEDIR/$user/conf/mail/$domain -chmod 770 $HOMEDIR/$user/conf/mail/$domain -chmod 660 $HOMEDIR/$user/conf/mail/$domain/* -mkdir $HOMEDIR/$user/mail/$domain_idn -chown $user:mail $HOMEDIR/$user/mail/$domain_idn -chmod 770 $HOMEDIR/$user/mail/$domain_idn # Adding symlink ln -s $HOMEDIR/$user/conf/mail/$domain /etc/$MAIL_SYSTEM/domains/$domain_idn @@ -76,8 +71,6 @@ if [ "$dkim" = 'yes' ]; then chmod 660 $USER_DATA/mail/$domain.* cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem - chown exim:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem - chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem # Adding dkim dns records check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain") @@ -98,6 +91,24 @@ s="DOMAIN='$domain' ANTIVIRUS='$antivirus' ANTISPAM='$antispam' DKIM='$dkim'" s="$s ACCOUNTS='0' U_DISK='0' CATCHALL='' SUSPENDED='no' TIME='$TIME'" s="$s DATE='$DATE'" +# Set permissions +chmod 660 $USER_DATA/mail/$domain.* +chmod 771 $HOMEDIR/$user/conf/mail/$domain +chmod 660 $HOMEDIR/$user/conf/mail/$domain/* +chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn +chmod 770 $HOMEDIR/$user/mail/$domain_idn + +# Set ownership +if [ "$MAIL_SYSTEM" = 'exim' ]; then + mail_user=exim +fi +if [ "$MAIL_SYSTEM" = 'exim4' ]; then + mail_user=Debian-exim +fi +chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain +chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd +chown $user:mail $HOMEDIR/$user/mail/$domain_idn + echo $s >> $USER_DATA/mail.conf touch $USER_DATA/mail/$domain.conf chmod 660 $USER_DATA/mail.conf diff --git a/func/rebuild.sh b/func/rebuild.sh index e9fceb80..8d328656 100644 --- a/func/rebuild.sh +++ b/func/rebuild.sh @@ -413,9 +413,10 @@ rebuild_mail_domain_conf() { get_domain_values 'mail' # Rebuilding config structure - rm -f /etc/exim/domains/$domain_idn + rm -f /etc/$MAIL_SYSTEM/domains/$domain_idn mkdir -p $HOMEDIR/$user/conf/mail/$domain - ln -s $HOMEDIR/$user/conf/mail/$domain /etc/exim/domains/$domain_idn + ln -s $HOMEDIR/$user/conf/mail/$domain \ + /etc/$MAIL_SYSTEM/domains/$domain_idn rm -f $HOMEDIR/$user/conf/mail/$domain/aliases rm -f $HOMEDIR/$user/conf/mail/$domain/protection rm -f $HOMEDIR/$user/conf/mail/$domain/passwd @@ -508,14 +509,20 @@ rebuild_mail_domain_conf() { # Set permissions chmod 660 $USER_DATA/mail/$domain.* - chmod 770 $HOMEDIR/$user/conf/mail/$domain + chmod 771 $HOMEDIR/$user/conf/mail/$domain chmod 660 $HOMEDIR/$user/conf/mail/$domain/* - chmod 770 /etc/exim/domains/$domain_idn + chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn chmod 770 $HOMEDIR/$user/mail/$domain_idn # Set ownership - chown -R exim:mail $HOMEDIR/$user/conf/mail/$domain - chown -R exim:mail /etc/exim/domains/$domain_idn + if [ "$MAIL_SYSTEM" = 'exim' ]; then + mail_user=exim + fi + if [ "$MAIL_SYSTEM" = 'exim4' ]; then + mail_user=Debian-exim + fi + chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain + chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd chown $user:mail $HOMEDIR/$user/mail/$domain_idn # Update counters