適用於 Mac OS X 的非圖形 ClamAV 防毒解決方案
我寫這個作為優秀的 ClamXav 的免費替代品。 MacClam 設定即時目錄監控並安排定期掃描。它使用 ClamAV 作為防毒引擎和 fswatch 主動監視目錄中是否有新文件或更改的文件,然後將其發送到 clamd 進行掃描。 定期全面掃描是透過 cron 安排的。 它還提供了一種從命令列按需掃描單一檔案或目錄的方法。
我已經在 Mojave (macOS 10.14) 上測試了 MacClam。 但它也可能適用於其他版本的 macOS。
您需要有 Apple 的 Xcode 命令列工具,可以使用以下命令安裝
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
這將透過從原始程式碼建立最新版本的 ClamAV 和 fswatch 來引導 MacClam。 它將安排每週一次完整的檔案系統掃描,並每天更新一次簽名。 它還為 $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。它從 crontab 中刪除 MacClam 條目。 它將隔離目錄從 MacClam 安裝目錄移至 ~/MacClam_quarantine,以防萬一其中有您想要的內容。 它刪除包含 clamav 和 fswatch 的 MacClam 安裝目錄。 它不會刪除 MacClam.sh 文件,您可以再次運行它來重新安裝 MacClam。
可以透過在腳本開頭編輯配置變數來配置計劃掃描、監視和安裝位置,然後再次執行腳本以套用變更。
MacClam.sh 被設計為具有非常簡單的介面—一個命令即可完成所有操作。 它是冪等的,這意味著如果一切設定正確且服務正在運行,重新運行 MacClam.sh 將不會執行任何操作。 如果配置變數發生更改,它將確保它們得到應用,並根據需要重新啟動服務。
MacClam 執行三種類型的掃描:
主動監控:MacClam 將監控您指定的任何目錄活動。 當文件被更改或建立時,將立即對其進行掃描。 預設情況下,監視 $HOME 和應用程式目錄。
計劃掃描:MacClam 將在排程時間對目錄執行遞歸掃描。 預設情況下,整個硬碟每週掃描一次。 調度是透過 cron 完成的。
按需掃描:使用一個或多個檔案或目錄參數執行MacClam.sh
將掃描指定的檔案或目錄。
在所有情況下,當發現病毒時,都會將其移至隔離資料夾中。 對於主動監控,當識別出病毒時,右上角會顯示簡短的圖形通知。