Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

On saslsauthd restart I keep getting following permissions on /var/run/saslauthd dir:

drwx--x---

This makes e.g. Exim unable to talk to saslauthd.

If I change permissions like this:

chmod o+x /var/run/saslauthd

..Exim can talk to saslauthd again. However, as I wrote, /etc/init.d/saslauthd restart is enough to change permissions to 710 again.

I have not found anything in /etc/init.d/saslauthd script to make that happen. What's going on here?

OS: Debian 7.0.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

Check /etc/group for this entry:

sasl:x:45:cyrus,Debian-exim

The directory /var/run/saslauthd should be owned by group sasl. Adding Exim to the sasl group should do the trick.

A little more background on the /var/run directory.

/var/run is used to store helper files for daemons. These are processes running in the background. Most prominent use is to store the pid of a daemon process. This makes it easier for the associated start/stop scripts to send a kill signal when trying to stop those processes. You may already sense that the data in /var/run is very volatile. Thus, this directory is emptied on every reboot.

saslauthd is creating such runtime information on its own startup. And it ensures to create the directory with the access rights expected by saslauthd.

An excerpt from the saslauthd init script:

    # If there is a statoverride for the run directory, then pull
    # permission and ownership information from it and create the directory.
    # Otherwise, we create the directory with default permissions and
    # ownership (root:sasl, 710).
    if dpkg-statoverride --list $RUN_DIR > /dev/null; then
            createdir `dpkg-statoverride --list $RUN_DIR`
    else
            createdir root sasl 710 $RUN_DIR
    fi

It seems it is even possible to allow a different owner and access mode for the saslauth directory through dpkg-statoverride. But I am not familiar with that and would not recommend such action. Adding exim to the sasl group is the right thing to do.

share|improve this answer
    
It works! Thanks!! But... that's not quite an answer to my question: just WHAT is changing permissions on /var/run/saslauthd? –  John Doe Jul 19 '13 at 16:44
    
ok. I will elaborate a bit more :-) –  itsafire Jul 19 '13 at 22:33
    
THANK YOU! That thing about dpkg-statoverride was really educational. –  John Doe Jul 22 '13 at 7:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.