Проблема:
Настройка clamav в качестве процесса-демона в mac osx вызывает некоторые громоздкие ошибки и предупреждения при выполнении настройки, и документация хороша, но не идеальна. Я столкнулся с некоторыми проблемами с разрешениями, проблемами с расположением файлов и т. д.
Вещи, которые работают:
- демон freshclam через cronjob (опубликуется ниже)
- загрузка демона через launchd и показ через
список sudo launchctl | моллюск
- запуск демона через launchd*
Вещи, которые не работают:
- clamd, созданный из списка запуска, не остается в списке после запуска
- clamd запускается, но возвращает ошибку ниже
Ошибка:
clamdclam.log:
ОШИБКА: ЛОКАЛЬНО: файл сокета /usr/local/etc/clamav/clamd.socket используется другим процессом.
Настраивать:
CONFIG_DIR="/usr/local/etc"
CLAM_HOME_DIR=~/clamav
# Сделать каталог для конфигов в домашнем каталоге
mkdir -p ${CLAM_HOME_DIR}
# Создаем конфиги
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
# Связать конфиги
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/
# Проверка работы freshclam
# создать файл журнала freshclam
sudo touch /var/log/freshclam.log
sudo chmod 600 /var/log/freshclam.log
sudo chown clamav /var/log/freshclam.log
# создать файл журнала Clamd
sudo touch /var/log/clamdclam.log
sudo chmod 600 /var/log/clamdclam.log
sudo chown clamav /var/log/clamdclam.log
Файлы:
Все конфиги и функциональные файлы
/usr/местные/и т.д./clamav:
ls -l /usr/local/etc/clamav/
всего 472256
-rw-r--r-- 1 _clamav admin 293670 10 окт 17:35 bytecode.cvd
lrwxr-xr-x 1 пользователь admin 37 окт 10 17:14 clamav-milter.conf -> /Users/user/clamav/clamav-milter.conf
lrwxr-xr-x 1 root admin 29 окт 10 20:48 clamd.conf -> /Users/user/clamav/clamd.conf
-rwxrwxr-x 1 пользователь admin 26784 9 окт 16:46 clamd.conf.sample
-rw-r--r-- 1 корневое колесо 5 10 окт 21:09 clamd.pid
srw-rw---- 1 корневое колесо 0 10 окт 20:59 clamd.socket
lrwxr-xr-x 1 пользователь admin 31 окт 10 19:25 clamd_run.sh -> /Users/user/clamav/clamd_run.sh
-rw-r--r-- 1 _clamav admin 56261254 10 окт 17:34 daily.cvd
lrwxr-xr-x 1 пользователь admin 33 окт 10 17:14 freshclam.conf -> /Users/user/clamav/freshclam.conf
-rwxrwxr-x 1 пользователь admin 7204 9 окт 16:46 freshclam.conf.sample
-rw-r--r-- 1 _clamav _clamav 69 10 окт 17:34 freshclam.dat
-rw-r--r-- 1 _clamav admin 170479789 10 окт 17:35 main.cvd
mac osx plist-файл /Библиотека/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>
В настоящее время тестирование:
- изменился владелец файла: был
пользователь: колесо -> корень: колесо -> корень: администратор
srw-rw---- 1 корневое колесо 0 10 окт 20:59 clamd.socket