Antwort: RE: [exim] user Debian-exim

Top Page
Delete this message
Reply to this message
Author: srunschke
Date:  
To: Alex
CC: exim-users
Subject: Antwort: RE: [exim] user Debian-exim
exim-users-bounces@??? schrieb am 06.12.2005 18:54:14:

> I want to save the mail data in files owned by "mail" so "courier" can

read
> it.
>
> Maildir and its childs directories are chmod 0775 and exim4 says that:
>
> 2005-12-06 18:51:21 1Ejgx9-0003oJ-LV ==
> /home/virtual/domain.com/users/webmaster/Maildir/ <webmaster@???>
> R=virtual_user T=address_directory defer (13): Permission denied: failed

to
> open tmp/1133891481.H898685P14672.idf (10 tries)
>
> That users doesn't not exists in the system, they are virtual users.
>
> If I set Maildir and its childs to 0777 exim4 cand write the files but
> "courier" can't read them because they are readable only by exim.


You need to use the same user/group for all instances of your
mailsystem. All Maildirs and their files need to be owned by
that particular user/group too! chown -R is your friend ;)

On my server I use vuser/vuser, forcing usage by:

Exim transport:
I'm grabbing the info from a sql table, but it's actually
always vuser/vuser

virtual_delivery:
  driver = appendfile
  envelope_to_add
  return_path_add
  mode = 0600
  maildir_format = true
  create_directory = true
  directory = ${lookup mysql{select smtp from users,domains \
                where localpart = '${quote_mysql:$local_part}' \
                and domain = '${quote_mysql:$domain}' \
                and users.domain_id = domains.domain_id}}
  user = ${lookup mysql{select users.uid  from users,domains \
                where localpart = '${quote_mysql:$local_part}' \
                and domain = '${quote_mysql:$domain}' \
                and users.domain_id = domains.domain_id}}
  group = ${lookup mysql{select users.gid from users,domains \
                where localpart = '${quote_mysql:$local_part}' \
                and domain = '${quote_mysql:$domain}' \
                and users.domain_id = domains.domain_id}}
  quota = ${lookup mysql{select users.quota from users,domains \
                where localpart = '${quote_mysql:$local_part}' \
                and domain = '${quote_mysql:$domain}' \
                and users.domain_id = domains.domain_id}{${value}M}}
  quota_is_inclusive = false
  quota_warn_threshold = 75%
  maildir_use_size_file = false
  quota_warn_message = "To: $local_part@$domain\n\
                        Subject: Mailbox quota warning\n\n\
                        This message was automatically generated by the 
mail delivery software.\n\n\
                        You are now using over 75% of your allocated mail 
storage quota.\n\n\
                        If your mailbox fills completely, further incoming 
messages will be automatically\n\
                        returned to their senders.\n\n\
                        Please take note of this and remove unwanted mail 
from your mailbox.\n"



Courier:
courierauth and courierimap are running as root, dropping to vuser/vuser
for reading the Maildirs. This needs to be configured in courier, I'm
using
the same sql table exim is using, therefor changing to vuser/vuser for
every user. If you are using the userdb you can specify which real user
it should drop to.

My directories are looking like that:

drwx------ 5 vuser vuser 4096 2005-11-09 11:03 domain.com

Hope it helped you some.

regards
        sash


--------------------------------------------------
Sascha Runschke
Netzwerk Administration
IT-Services

ABIT AG
Robert-Bosch-Str. 1
40668 Meerbusch

Tel.:+49 (0) 2150.9153.226
Mobil:+49 (0) 173.5419665
mailto:SRunschke@abit.de

http://www.abit.net
http://www.abit-epos.net
---------------------------------
Sicherheitshinweis zur E-Mail Kommunikation /
Security note regarding email communication:
http://www.abit.net/sicherheitshinweis.html