CentOS 8
參考文章: https://linux-audit.com/install-clamav-on-centos-7-using-freshclam/
使用yum安裝clamav
$ sudo yum install epel-release -y # EPEL庫中才包含ClamAV
$ sudo yum install -y clamav
修改掃描配置文件
$ cd /etc/clamd.d
$ sudo cp scan.conf scan.conf.bak # 創建配置文件備份
$ sudo vim scan.conf
主要修改下面行:
LogFile /var/log/clamd.scan # 指定日誌位置
LogFileMaxSize 20M # 日誌最大20M,默認滾動覆蓋
LogTime yes # 日誌中記錄時間
LocalSocket /run/clamd.scan/clamd.sock # 本地socket通信文件
MaxThreads 20 # 同時運行的最大線程數量
ExcludePath ^/proc/ # 掃描排除路徑,需要用正則表達式來寫,一個路徑寫一行,不寫的話默認會掃描整個/根目錄下的所有位置
OnAccessIncludePath /opt # 指定要掃描的文件夾(及內部的子文件夾),每行一個路徑
指定日誌存儲後需要手動創建一下日誌文件並修改權限
$ sudo touch /var/log/clamd.scan
$ sudo chown clamscan:clamscan /var/log/clamd.scan
創建clamd後臺服務
$ sudo vim /etc/systemd/system/clamd.service
服務配置內容:
[Unit]
Description = clamd病毒掃描服務
After = syslog.target nss-lookup.target network.target
[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf --foreground=yes
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
開啓服務自動啓動
$ sudo systemctl daemon-reload
$ sudo systemctl enable clamd
$ sudo systemctl start clamd
創建自動更新服務
$ sudo vim /etc/systemd/system/freshclam.service
服務配置內容:
[Unit]
Description = ClamAV更新病毒庫服務
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 1
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
這裏freshclam後面的參數
-d
表示以daemon後臺進程啓動,-c 1
表示每1天檢查一次更新
開啓服務自動啓動
$ sudo systemctl daemon-reload
$ sudo systemctl enable freshclam
$ sudo systemctl start freshclam
創建計劃任務
設置每天晚上22:00掃描/opt
文件夾,並使用多線程模式-m
$ sudo crontab -e
00 22 * * * /usr/bin/clamdscan /opt -m
其他命令
$ sudo freshclam # 手動更新病毒庫
$ sudo clamdtop # 查看當前掃描任務