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

I want to start clamd normally as a root user, and assign the local socket to be used by Qmail-Scanner (only). clamd runs as user/group clamav, qmail-scanner-queue as qscand.

$ id -nG clamav
clamav qscand
$ id -nG qscand
qscand

clamd.conf as follows:

$ cat /usr/local/etc/clamd.conf
LocalSocket /tmp/clamav/clamd.socket
LocalSocketGroup qscand
LocalSocketMode 660
User clamav

When I try to start clamd, after a few seconds I get:

# ls -l /tmp/clamav
total 0
# clamd
ERROR: Failed to change socket ownership to group qscand
# ls -l /tmp/clamav
total 0
s--------- 1 clamav clamav 0 2012-12-11 15:57 clamd.socket=
# sudo -u clamav clamd
# ls -l /tmp/clamav
total 0
srw-rw---- 1 clamav qscand 0 2012-12-11 15:57 clamd.socket=

See the funny trick I have to play?

If I start it as root, the program doesn't know after dropping privileges that its effective user is a member of the needed group. But if I start it as user clamav, it works!

I'm using an older linux (Slackware 11.0.0) so after reading docs, and compiling test code, I'm beginning to suspect a library issue with that distribution. Searches reveal people encountering this error in 2010, but no definitive solutions.

Can anyone confirm that clamav should work the way I expect? Or show me the error of my ways ...

share|improve this question
    
It does happen to work great when I start using 'sudo -u' as above - all the configuration and other installation appear fine. –  dmaestro12 Dec 12 '12 at 13:09

1 Answer 1

up vote 0 down vote accepted

I now have the configuration exactly as I wish. The behavior is by design; why, I am not sure. Anyway enabling the option "AllowSupplementaryGroups" solved my issue:

$ cat /usr/local/etc/clamd.conf
LocalSocket /tmp/clamav/clamd.socket
LocalSocketGroup qscand
LocalSocketMode 660
User clamav
AllowSupplementaryGroups yes

Now root can start the server without any special tricks.

share|improve this answer

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.