โซลูชันแอนตี้ไวรัส ClamAV แบบไม่มีกราฟิกสำหรับ Mac OS X
ฉันเขียนสิ่งนี้เป็นทางเลือกฟรีสำหรับ ClamXav ที่ยอดเยี่ยม MacClam ตั้งค่าการตรวจสอบไดเรกทอรีแบบเรียลไทม์และกำหนดเวลาการสแกนเป็นระยะ มันใช้ ClamAV เป็นเครื่องมือป้องกันไวรัสและ fswatch เพื่อตรวจสอบไดเร็กทอรีสำหรับไฟล์ใหม่หรือไฟล์ที่มีการเปลี่ยนแปลง ซึ่งจากนั้นจะถูกส่งไปยัง clamd เพื่อทำการสแกน การสแกนแบบเต็มเป็นระยะถูกกำหนดด้วย cron นอกจากนี้ยังมีวิธีการสแกนไฟล์หรือไดเร็กทอรีแต่ละไฟล์ตามต้องการจากบรรทัดคำสั่ง
ฉันได้ทดสอบ MacClam บน Mojave แล้ว (macOS 10.14) แต่อาจใช้งานได้กับ macOS เวอร์ชันอื่นด้วย
คุณจะต้องมีเครื่องมือบรรทัดคำสั่ง Xcode ของ Apple ซึ่งสามารถติดตั้งได้
xcode-select --install
จากนั้นคลิก "ติดตั้ง" หลังจากที่คุณติดตั้งเครื่องมือบรรทัดคำสั่งแล้ว หากคุณใช้ Mojave คุณจะต้องติดตั้งแพ็คเกจส่วนหัวของ macOS ด้วย
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
การติดตั้งทำได้ง่ายมาก หลังจากติดตั้งเครื่องมือที่จำเป็นต้องมี ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล
curl -O https://raw.githubusercontent.com/killdash9/MacClam/master/MacClam.sh chmod +x MacClam.sh ./MacClam.sh
การดำเนินการนี้จะบูตเครื่อง MacClam ด้วยการสร้าง ClamAV และ fswatch เวอร์ชันล่าสุดจากแหล่งที่มา โดยจะกำหนดเวลาการสแกนระบบไฟล์แบบเต็มสัปดาห์ละครั้ง และอัปเดตลายเซ็นวันละครั้ง นอกจากนี้ยังตั้งค่าการตรวจสอบแบบเรียลไทม์สำหรับไดเร็กทอรี $HOME และ /Applications แต่ละสิ่งเหล่านี้สามารถกำหนดค่าได้โดยการแก้ไขตัวแปรสคริปต์และเรียกใช้สคริปต์อีกครั้ง
ตามค่าเริ่มต้น ไดเร็กทอรีการติดตั้งคือ ~/MacClam
ไดเร็กทอรีนี้ประกอบด้วยซอร์ส ไบนารี ไฟล์บันทึก และโฟลเดอร์กักกันทั้งหมด สิ่งเดียวที่ติดตั้งนอกไดเร็กทอรีนี้คือ crontab และสคริปต์ MacClam.sh
ซึ่งจำเป็นสำหรับ MacClam ในการทำงาน หากคุณต้องการย้ายสคริปต์ MacClam.sh
ไปยังตำแหน่งอื่น เพียงเรียกใช้สคริปต์อีกครั้งจากตำแหน่งใหม่ และการอ้างอิง crontab จะได้รับการอัปเดต สามารถถอนการติดตั้งทั้งหมดได้โดยการรัน ./MacClam.sh uninstall
./MacClam.sh
ทำสิ่งต่อไปนี้:
สร้าง clamd และ fswatch จากแหล่งที่มาหากจำเป็น
ตั้งค่าการอัปเดตลายเซ็นปกติและการสแกนแบบเต็มใน crontab
อัพเดตลายเซ็นแบบ clamd
เริ่มบริการการมอนิเตอร์ที่ใช้งานอยู่ clamd และ fswatch หากยังไม่ได้รัน
ตั้งค่าการตรวจสอบที่ใช้งานอยู่ให้ทำงานเมื่อเริ่มต้น (ทำใน crontab ด้วย)
หากเรียกใช้จากเทอร์มินัล มันจะแสดงกิจกรรมการสแกนปัจจุบัน
คำสั่งต่อไปนี้
./MacClam.sh /path/file_or_directory ...
ทำทุกอย่างที่ระบุไว้ก่อนหน้านี้ จากนั้นรัน clamscan บนไฟล์หรือไดเร็กทอรี สามารถระบุไฟล์หรือไดเร็กทอรีได้หลายไฟล์
./MacClam.sh quarantine
เปิดโฟลเดอร์กักกันใน Finder ตามค่าเริ่มต้น นี่คือ ~/MacClam/quarantine
./MacClam.sh help
แสดงข้อความช่วยเหลือ
./MacClam.sh uninstall
ถอนการติดตั้ง MacClam โดยเฉพาะอย่างยิ่ง มันหยุด clamd และ fswatch มันจะลบรายการ MacClam ออกจาก crontab โดยจะย้ายไดเร็กทอรีการกักกันจากไดเร็กทอรีการติดตั้ง MacClam ไปที่ ~/MacClam_quarantine เผื่อว่ามีอะไรอยู่ในนั้นที่คุณต้องการ มันจะลบไดเร็กทอรีการติดตั้ง MacClam ซึ่งมี clamav และ fswatch จะไม่ลบไฟล์ MacClam.sh และคุณสามารถติดตั้ง MacClam ใหม่ได้ด้วยการเรียกใช้อีกครั้ง
การสแกนตามกำหนดการ การตรวจสอบ และตำแหน่งการติดตั้งสามารถกำหนดค่าได้โดยการแก้ไขตัวแปรการกำหนดค่าที่จุดเริ่มต้นของสคริปต์ จากนั้นเรียกใช้สคริปต์อีกครั้งเพื่อใช้การเปลี่ยนแปลงของคุณ
MacClam.sh ได้รับการออกแบบให้มีอินเทอร์เฟซที่เรียบง่าย -- คำสั่งเดียวที่ทำทุกอย่าง มันเป็น idempotent ซึ่งหมายความว่าการรัน MacClam.sh อีกครั้งจะไม่ทำอะไรเลยหากทุกอย่างได้รับการตั้งค่าอย่างถูกต้องและบริการกำลังทำงานอยู่ หากมีการเปลี่ยนแปลงในตัวแปรการกำหนดค่า จะต้องแน่ใจว่าตัวแปรเหล่านั้นถูกนำไปใช้ และรีสตาร์ทบริการตามความจำเป็น
MacClam ทำการสแกนสามประเภท:
การตรวจสอบที่ใช้งานอยู่: MacClam จะตรวจสอบไดเร็กทอรีใด ๆ ที่คุณระบุสำหรับกิจกรรม เมื่อไฟล์มีการเปลี่ยนแปลงหรือสร้างไฟล์จะถูกสแกนทันที โดยดีฟอลต์ ไดเร็กทอรี $HOME และ Applications จะถูกมอนิเตอร์
การสแกนตามกำหนดเวลา: MacClam จะทำการสแกนไดเรกทอรีแบบเรียกซ้ำตามเวลาที่กำหนด ตามค่าเริ่มต้น ฮาร์ดไดรฟ์ทั้งหมดจะถูกสแกนสัปดาห์ละครั้ง การกำหนดเวลาเสร็จสิ้นด้วย cron
การสแกนตามความต้องการ: การรัน MacClam.sh
ด้วยอาร์กิวเมนต์ไฟล์หรือไดเร็กทอรีอย่างน้อยหนึ่งรายการจะสแกนไฟล์หรือไดเร็กทอรีที่ระบุ
ในทุกกรณี เมื่อพบไวรัส ไวรัสจะถูกย้ายไปยังโฟลเดอร์กักกัน สำหรับการตรวจสอบเชิงรุก เมื่อมีการระบุไวรัส การแจ้งเตือนแบบกราฟิกสั้นๆ จะแสดงที่มุมขวาบน