Problema:
Configurarea clamav ca proces demon în mac osx generează unele erori și avertismente greoaie în timpul instalării, iar documentația este bună, dar nu perfectă. Am întâmpinat unele probleme de permisiuni, probleme de locație a fișierelor etc.
Lucruri care funcționează:
- daemon freshclam printr-un cronjob (va posta mai jos)
- a face ca demonul să se încarce prin launchd și să se afișeze prin
sudo launchctl list | scoica grep
- pornirea demonului prin launchd*
Lucruri care nu funcționează:
- clamd creat din launchd plist nu rămâne în listă după pornire
- clamd pornește, dar returnează eroarea de mai jos
Eroare:
clamdclam.log:
EROARE: LOCAL: Fișierul socket /usr/local/etc/clamav/clamd.socket este utilizat de un alt proces.
Înființat:
CONFIG_DIR="/usr/local/etc"
CLAM_HOME_DIR=~/clamav
# Faceți director pentru configurații în directorul de acasă
mkdir -p ${CLAM_HOME_DIR}
# Creați configurații
clamconf -g freshclam.conf > ${CLAM_HOME_DIR}/freshclam.conf
clamconf -g clamd.conf > ${CLAM_HOME_DIR}/clamd.conf
clamconf -g clamav-milter.conf > ${CLAM_HOME_DIR}/clamav-milter.conf
# Configurații link
ln -nsf $(pwd)/freshclam.conf /usr/local/etc/clamav/
ln -nsf $(pwd)/clamd.conf /usr/local/etc/clamav/
ln -nsf $(pwd)/clamav-milter.conf /usr/local/etc/clamav/
# Testul freshclam funcționează
# creați freshclam un fișier jurnal
sudo touch /var/log/freshclam.log
sudo chmod 600 /var/log/freshclam.log
sudo chown clamav /var/log/freshclam.log
# creați fișierul Clamd Log
sudo touch /var/log/clamdclam.log
sudo chmod 600 /var/log/clamdclam.log
sudo chown clamav /var/log/clamdclam.log
Fișiere:
Toate configurațiile și fișierele funcționale
/usr/local/etc/clamav:
ls -l /usr/local/etc/clamav/
total 472256
-rw-r--r-- 1 _clamav admin 293670 Oct 10 17:35 bytecode.cvd
lrwxr-xr-x 1 utilizator admin 37 oct 10 17:14 clamav-milter.conf -> /Users/user/clamav/clamav-milter.conf
lrwxr-xr-x 1 root admin 29 oct 10 20:48 clamd.conf -> /Users/user/clamav/clamd.conf
-rwxrwxr-x 1 utilizator admin 26784 Oct 9 16:46 clamd.conf.sample
-rw-r--r-- 1 roată rădăcină 5 oct 10 21:09 clamd.pid
srw-rw---- 1 roată rădăcină 0 Oct 10 20:59 clamd.socket
lrwxr-xr-x 1 utilizator admin 31 oct 10 19:25 clamd_run.sh -> /Users/user/clamav/clamd_run.sh
-rw-r--r-- 1 _clamav admin 56261254 Oct 10 17:34 daily.cvd
lrwxr-xr-x 1 utilizator admin 33 oct 10 17:14 freshclam.conf -> /Users/user/clamav/freshclam.conf
-rwxrwxr-x 1 utilizator admin 7204 Oct 9 16:46 freshclam.conf.sample
-rw-r--r-- 1 _clamav _clamav 69 Oct 10 17:34 freshclam.dat
-rw-r--r-- 1 _clamav admin 170479789 Oct 10 17:35 main.cvd
fișier mac osx plist /Library/LaunchDaemons/com.clamd.daemon.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.clamav.daemon</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/clamav/0.104.0_1/sbin/clamd</string>
<string>-c</string>
<string>/usr/local/etc/clamav/clamd.conf</string>
<string>-l</string>
<string>/var/log/clamdclam.log</string>
</array>
<key>KeepAlive</key>
<dict>
<key>Crashed</key>
<true/>
</dict>
<key>StandardOutPath</key>
<string>/tmp/test.stdout</string>
<key>StandardErrorPath</key>
<string>/tmp/test.stderr</string>
<key>RunAtLoad</key>
<true/>
<key>LaunchOnlyOnce</key>
<true/>
</dict>
</plist>
În prezent se testează:
- a schimbat proprietarul fișierului: was
user:wheel -> root:wheel -> root:admin
srw-rw---- 1 roată rădăcină 0 Oct 10 20:59 clamd.socket