Просмотр исходного кода

improvements to run exim on ubuntu

Serghey Rodin 12 лет назад
Родитель
Сommit
bfe1e73d98
2 измененных файлов с 33 добавлено и 15 удалено
  1. 20 9
      bin/v-add-mail-domain
  2. 13 6
      func/rebuild.sh

+ 20 - 9
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

+ 13 - 6
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