Initialization failed: Namespace '': mkdir(/var/www/mail) failed: Permission denied

Aki Tuomi aki.tuomi at dovecot.fi
Thu Oct 26 19:11:03 EEST 2017


> On October 26, 2017 at 6:40 PM trash at skrilnetz.net wrote:
> 
> 
>   Quoting Aki Tuomi <aki.tuomi at dovecot.fi>:
> 
> >> On October 26, 2017 at 5:53 PM trash at skrilnetz.net wrote:
> >>
> >>   Quoting Aki Tuomi <aki.tuomi at dovecot.fi>:
> >>
> >> On October 26, 2017 at 5:40 PM trash at skrilnetz.net wrote:
> >>
> >>   Quoting Steffen Kaiser <skdovecot at smail.inf.fh-brs.de>:
> >>
> >> On Thu, 26 Oct 2017, trash at skrilnetz.net wrote:
> >>
> >> /dovecot: lda(www-data): Error: user www-data: Initialization
> >> failed: Namespace '': MKDIR(/VAR/WWW/MAIL) failed: Permission
> >> denied (euid=33(www-data) egid=33(www-data) missing +w perm:
> >> /var/www, dir owned by 1001:1001 mode=0755//)  /
> >>
> >> I did some troubleshooting and I don't understand where
> >> the MKDIR(/VAR/WWW/MAIL) is coming from. Mailboxes are in /var/mail
> >> and
> >>
> >> ^^ /var/mail contains the INBOX only
> >>
> >> sending/receiving emails is working as it always did.
> >>
> >> mail_location is still setup to be MAIL_LOCATION =
> >> MBOX:~/MAIL:INBOX=/VAR/MAIL/%U
> >>
> >> Everything else is in ~/MAIL (why uppercase?)
> >>
> >> Why is it trying a mkdir in /var/www?
> >>
> >> Because most likely /var/www is the home directory of www-data and
> >> you've configured to use $HOME/MAIL as base directory, which is
> >> /var/www/mail
> >> - -- Steffen Kaiser
> >>
> >> I don't know where the uppercase is coming from. In the email I've
> >> sent its lower case.
> >>
> >> How can I fix that without changing permissions of /var/www? Where is
> >> $HOME/MAIL configured? Why do I get this error now for the first time,
> >> when there was no change to the system configuration?
> >>
> >> Probably someone attempted to send email via a crappy script and
> >> it's now trying to deliver to www-data.
> >>
> >> first_valid_uid = 1001
> >> last_valid_uid = 1001
> >>
> >> also, doveconf -n would be useful.
> >> Aki
> >>
> >> Here is doveconf -n: https://pastebin.com/raw/s6cKwHGc
> >
> > Home directory is provided by passwd userdb when present in passwd  
> > file. to override it, use
> >
> > userdb {
> >   driver = passwd
> >   override_fields = home=/var/mail/%Lu
> > }
> > Aki
> 
>   Thanks for the quick replies.
>   I've checked, and the user database information is stored in  
> /home/user/mail/ for every user.
>   That works as expected without changing anything. I have still the  
> same question…
>   Why is it trying to write to /var/www when the mailbox is in  
> /var/mail/ and the user data in /home/user/mail/?

So you are saying that the home directory field, in /etc/passwd, for user www-data is set to /home/www-data/mail ?

You should consider setting

first_valid_uid = 1000

Aki


More information about the dovecot mailing list