Serghey Rodin 12 лет назад
Родитель
Сommit
d0cd7a6626
3 измененных файлов с 20 добавлено и 21 удалено
  1. 2 2
      bin/v-add-mail-domain
  2. 1 1
      bin/v-add-mail-domain-dkim
  3. 17 18
      func/rebuild.sh

+ 2 - 2
bin/v-add-mail-domain

@@ -48,7 +48,7 @@ mkdir $HOMEDIR/$user/conf/mail/$domain
 touch $HOMEDIR/$user/conf/mail/$domain/aliases
 touch $HOMEDIR/$user/conf/mail/$domain/protection
 touch $HOMEDIR/$user/conf/mail/$domain/passwd
-chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain
+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
@@ -76,7 +76,7 @@ if [ "$dkim" = 'yes' ]; then
     chmod 660 $USER_DATA/mail/$domain.*
 
     cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
-    chown root:mail $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

+ 1 - 1
bin/v-add-mail-domain-dkim

@@ -48,7 +48,7 @@ chmod 660 $USER_DATA/mail/$domain.*
 
 # Adding dkim to config
 cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
-chown root:mail $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
 
 # Checking dns domain

+ 17 - 18
func/rebuild.sh

@@ -408,9 +408,8 @@ rebuild_dns_domain_conf() {
 # MAIL domain rebuild
 rebuild_mail_domain_conf() {
 
-    domain_idn=$(idn -t --quiet -a "$domain")
-
     # Get domain values
+    domain_idn=$(idn -t --quiet -a "$domain")
     get_domain_values 'mail'
 
     # Rebuilding config structure
@@ -423,11 +422,6 @@ rebuild_mail_domain_conf() {
     touch $HOMEDIR/$user/conf/mail/$domain/aliases
     touch $HOMEDIR/$user/conf/mail/$domain/protection
     touch $HOMEDIR/$user/conf/mail/$domain/passwd
-    chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain
-    chown -R dovecot:mail /etc/exim/domains/$domain_idn
-    chmod 770 $HOMEDIR/$user/conf/mail/$domain
-    chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
-    chmod 770 /etc/exim/domains/$domain_idn
 
     # Adding antispam protection
     if [ "$ANTISPAM" = 'yes' ]; then
@@ -446,11 +440,7 @@ rebuild_mail_domain_conf() {
         pub="$USER_DATA/mail/$domain.pub"
         openssl genrsa -out $pem 512 &>/dev/null
         openssl rsa -pubout -in $pem -out $pub &>/dev/null
-        chmod 660 $USER_DATA/mail/$domain.*
-
         cp $pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
-        chown root:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
-        chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
 
         # Deleting old dkim records
         records=$($BIN/v-list-dns-records $user $domain plain)
@@ -459,15 +449,15 @@ rebuild_mail_domain_conf() {
             $BIN/v-delete-dns-record $user $domain $id
         done
 
-        # Adding dkim dns records
+        # Adding new dkim dns records
         check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain")
         if [ "$?" -eq 0 ]; then
-            p=$(cat $pub|grep -v ' KEY---'|tr -d '\n')
             record='_domainkey'
             policy="\"t=y; o=~;\""
             $BIN/v-add-dns-record $user $domain $record TXT "$policy"
 
             record='mail._domainkey'
+            p=$(cat $pub|grep -v ' KEY---'|tr -d '\n')
             slct="\"k=rsa\; p=$p\""
             $BIN/v-add-dns-record $user $domain $record TXT "$slct"
         fi
@@ -482,8 +472,6 @@ rebuild_mail_domain_conf() {
     if [ ! -e $HOMEDIR/$user/mail/$domain_idn ]; then
         mkdir $HOMEDIR/$user/mail/$domain_idn
     fi
-    chown $user:mail $HOMEDIR/$user/mail/$domain_idn
-    chmod 770 $HOMEDIR/$user/mail/$domain_idn
 
     dom_aliases=$HOMEDIR/$user/conf/mail/$domain/aliases
     if [ ! -z "$CATCHALL" ]; then
@@ -498,7 +486,6 @@ rebuild_mail_domain_conf() {
     else
         accounts=''
     fi
-
     for account in $accounts; do
         (( ++accs))
         dom_diks=$((dom_diks + U_DISK))
@@ -517,8 +504,21 @@ rebuild_mail_domain_conf() {
         if [ ! -z "$FWD" ]; then
             echo "$account@$domain:$FWD" >> $dom_aliases
         fi
-
     done
+
+    # Set permissions
+    chmod 660 $USER_DATA/mail/$domain.*
+    chmod 770 $HOMEDIR/$user/conf/mail/$domain
+    chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
+    chmod 770 /etc/exim/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
+    chown $user:mail $HOMEDIR/$user/mail/$domain_idn
+
+    # Update counters
     update_object_value 'mail' 'DOMAIN' "$domain" '$ACCOUNTS' "$accs"
     update_object_value 'mail' 'DOMAIN' "$domain" '$U_DISK' "$dom_diks"
     U_MAIL_ACCOUNTS=$((U_MAIL_ACCOUNTS + accs))
@@ -526,7 +526,6 @@ rebuild_mail_domain_conf() {
     U_MAIL_DOMAINS=$((U_MAIL_DOMAINS + 1))
 }
 
-
 # Rebuild MySQL
 rebuild_mysql_database() {