We use CentOS 5 here and recently ran across this issue with ClamAV 0.95.3 (we're using the clamav-0.95.3-46.el5 RPM from either RPMForge or ATRPMs). The startup script in that RPM is still written for ClamAV prior to 0.95 where clamav-milter did not use a configuration file.

The old script uses the following code to look at CLAMAV_MILTER in /etc/sysconfig/clamav.

if [ "$CLAMAV_MILTER" == "yes" ] ; then
    echo -n $"Starting clamav-milter: "
    daemon clamav-milter --config-file=/etc/clamd.conf \
        --max-children=10 \
        --force-scan \
        --quiet \
        --noreject \
        --outgoing \
        --local \
        local:/var/run/clamav/clmilter.socket
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamav-milter
fi

Which we've modified on our servers to look like (very small change):

if [ "$CLAMAV_MILTER" == "yes" ] ; then
    echo -n $"Starting clamav-milter: "
    daemon /usr/sbin/clamav-milter
    chmod g+w /var/run/clamav/clamav-milter.socket
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamav-milter
fi

The problem is that the permissions on the socket file were not being set correctly to be in the clamav group. Which is why I added the chmod line. We also had to do a bit of audit2allow in order to get postfix to talk to the socket (SELinux issues). We added the postfix user to the clamav group (which I hope is not a huge security risk).

The questions I have are:

1) How do I pass this up the chain to the person who is creating the RPMs for Red Hat / CentOS?

2) Should we have to manually set the group write attribute in the startup script? Or should that have been set by clamav-milter if AllowSupplementaryGroups is set to "yes" in the milter's configuration file?

3) We had to manually clean up the clamav-milter.pid file in the stop() section of the script.

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamav-milter
[ $RETVAL -eq 0 ] && rm -f /var/run/clamav/clamav-milter.pid

_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml

Reply via email to