permissions for DKIM

This commit is contained in:
Serghey Rodin 2013-08-21 12:08:28 +03:00
parent 47d84faaa2
commit d0cd7a6626
3 changed files with 20 additions and 21 deletions

View file

@ -48,7 +48,7 @@ mkdir $HOMEDIR/$user/conf/mail/$domain
touch $HOMEDIR/$user/conf/mail/$domain/aliases touch $HOMEDIR/$user/conf/mail/$domain/aliases
touch $HOMEDIR/$user/conf/mail/$domain/protection touch $HOMEDIR/$user/conf/mail/$domain/protection
touch $HOMEDIR/$user/conf/mail/$domain/passwd 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 770 $HOMEDIR/$user/conf/mail/$domain
chmod 660 $HOMEDIR/$user/conf/mail/$domain/* chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
mkdir $HOMEDIR/$user/mail/$domain_idn mkdir $HOMEDIR/$user/mail/$domain_idn
@ -76,7 +76,7 @@ if [ "$dkim" = 'yes' ]; then
chmod 660 $USER_DATA/mail/$domain.* chmod 660 $USER_DATA/mail/$domain.*
cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem 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 chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
# Adding dkim dns records # Adding dkim dns records

View file

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

View file

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