ปัญหา:
การตั้งค่า clamav เป็นกระบวนการ daemon ใน mac osx ทำให้เกิดข้อผิดพลาดและคำเตือนที่ยุ่งยากในขณะที่ทำการตั้งค่าและเอกสารประกอบนั้นดี แต่ไม่สมบูรณ์ ฉันพบปัญหาการอนุญาต ปัญหาตำแหน่งไฟล์ ฯลฯ
สิ่งที่กำลังทำงานอยู่:
- freshclam daemon ผ่าน cronjob (จะโพสต์ด้านล่าง)
- รับ daemon โหลดผ่าน launchd และแสดงผ่าน
sudo launchctl รายการ | หอยเกรป
- เริ่มต้น daemon ผ่าน launchd*
สิ่งที่ไม่ทำงาน:
- clamd ที่สร้างจาก launchd plist ไม่อยู่ในรายการหลังจากเริ่มต้น
- clamd เริ่มทำงาน แต่ส่งกลับข้อผิดพลาดด้านล่าง
ข้อผิดพลาด:
clamdclam.log:
ข้อผิดพลาด: ในพื้นที่: ไฟล์ซ็อกเก็ต /usr/local/etc/clamav/clamd.socket ใช้งานโดยกระบวนการอื่น
ติดตั้ง:
CONFIG_DIR="/usr/local/etc"
CLAM_HOME_DIR=~/หอย
# สร้าง dir สำหรับ configs ใน home dir
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 สัมผัส /var/log/freshclam.log
sudo chmod 600 /var/log/freshclam.log
sudo chown clamav /var/log/freshclam.log
# สร้างไฟล์บันทึก Clamd
sudo สัมผัส /var/log/clamdclam.log
sudo chmod 600 /var/log/clamdclam.log
sudo chown clamav /var/log/clamdclam.log
ไฟล์:
configs และไฟล์การทำงานทั้งหมด
/usr/local/etc/clamav:
ls -l /usr/local/etc/clamav/
รวม 472256
-rw-r--r-- 1 _clamav ผู้ดูแลระบบ 293670 10 ต.ค. 17:35 น. bytecode.cvd
lrwxr-xr-x 1 ผู้ใช้ ผู้ดูแลระบบ 37 ต.ค. 53 17:14 น. clamav-milter.conf -> /Users/user/clamav/clamav-milter.conf
lrwxr-xr-x 1 ผู้ดูแลระบบรูท 29 ต.ค. 53 20:48 น. clamd.conf -> /Users/user/clamav/clamd.conf
-rwxrwxr-x ผู้ใช้ 1 ราย ผู้ดูแลระบบ 26784 9 ต.ค. 16:46 น. clamd.conf.sample
-rw-r--r-- 1 รูทล้อ 5 ต.ค. 53 21:09 น. clamd.pid
srw-rw---- 1 root wheel 0 ต.ค. 53 20:59 น. clamd.socket
lrwxr-xr-x 1 ผู้ใช้ ผู้ดูแลระบบ 31 ต.ค. 53 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 ผู้ใช้ ผู้ดูแลระบบ 33 ต.ค. 53 17:14 น. freshclam.conf -> /Users/user/clamav/freshclam.conf
-rwxrwxr-x ผู้ใช้ 1 ราย ผู้ดูแลระบบ 7204 9 ต.ค. 16:46 freshclam.conf.sample
-rw-r--r-- 1 _clamav _clamav 69 ต.ค. 53 17:34 น. freshclam.dat
-rw-r--r-- 1 _clamav ผู้ดูแลระบบ 170479789 10 ต.ค. 17:35 น. main.cvd
ไฟล์ 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>
กำลังทดสอบ:
- เปลี่ยนความเป็นเจ้าของไฟล์: เดิม
ผู้ใช้:ล้อ -> รูท:ล้อ -> รูท:ผู้ดูแลระบบ
srw-rw---- 1 root wheel 0 ต.ค. 53 20:59 น. clamd.socket