On 9/19/2012 3:36 PM, Arthur Dent wrote:
On Wed, 2012-09-19 at 10:47 +0100, Arthur Dent wrote:
"What tells it that it is a "scan" service? That bit of the puzzle seems
to be missing..."
Whatever is the parameter after the @ and before the dot becomes %i in
the service file. Look at the service file:
[Unit]
Description = clamd scanner (%i) daemon
After = syslog.target nss-lookup.target network.target
[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf --nofork=yes
Restart = on-failure
PrivateTmp = true
so clamd@scan.service invokes clamd with the scan.conf file as it's
configuration file.
This way you can have multiple clamd services each using a different
config file. Just create another config file in
/etc/clamd.d/my_config.conf and:
ln -s /lib/systemd/system/clamd@.service
/etc/systemd/system/clamd@my_config.service
You should have the /etc/clamd.d/scan.conf I think:
[root@moses shorewall]# rpm -qf /etc/clamd.d/scan.conf
clamav-scanner-0.97.5-1700.fc17.noarch
Thank you Bill for a helpful and, more importantly, informative reply. I
think this will not only help me to solve my problem but, even better,
help me to understand where I was going wrong.
As before, I don't have access to the machine right now, so i will try
when I get home to work through this and get it right.
I will once again report back later...
Well... Progress!
Because I have done so much tinkering and editing of configs (and had
previously even tried the script I mentioned earlier) I was unsure as to
what should be where, so I blitzed every clam* package with yum erase,
ran updatedb and then deleted any and all clam* files and directories
still left. I also deleted the clam* users that had been created
(including a "clamd user that I had created myself), and then
reinstalled the lot.
A quick edit of the freshclam configs and the /etc/clamd.d/scan.conf
file and a call to systemctl enable clamd@scan.service and systemctl
start clamd@scan.service and I am up and running!
Thank you so much.
All is not _quite_ perfect however. In calling clamdscan from my script
(itself called from procmail) I get the error:
ERROR: Can't parse clamd configuration file /etc/clamd.conf
Note the config file and location. In order to get it to work (which it
does), I need to declare clamdscan in my script as:
"/bin/clamdscan -c/etc/clamd.d/scan.conf"
So where does it default to /etc/clamd.conf ? I have grepped the whole
of /etc/* and can't find a reference to this location, and there is
no /etc/sysconfig/clamd as there used to be.
I think this is the last remaining mystery. After I have solved this I
will be a very happy bunny!
Thank you again.
Mark
/etc/clamd.conf is the old location for the config file. With the
flexibility of systemd allowing multiple daemons running, I think the
packager changed things to use /etc/clam.d/scan.conf but didn't catch
this change for clamdscan.
I also run a Mandriva mail server that uses procmail to deliver mail.
Here is a snippet of my IMAP recipe:
:0
VIRUS=| clamdscan --no-summary --stdout - | cut -d' ' -f2 -
:0
* VIRUS ?? !^Can\'t
{
:0
* VIRUS ?? !^OK
{
:0
SUBJECT=| egrep '^Subject:' - | sed -e 's/Subject: //' -
:0 fw
| formail -i "Subject: [VIRUS: ${VIRUS}] ${SUBJECT}" -I
"X-Clamav-Virus-Detected: Yes, ${VIRUS}"
:0
$DEFAULT.SystemFolders.Infected/
}
:0Efw
| formail -b -f -t -I "X-Clamav-Virus-Detected: No"
}
To be honest, I don't remember what all the commands do except when it
detects a spam email it puts it in a different directory
($DEFAULT.SystemFolders.Infected/). This Mandriva server uses
/etc/clamd.conf.
Bill
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org