無料で使えるオープンソースのアンチウイルスソフト「ClamAV」をmacOSへインストールして動かすところまでをまとめます。
ちょっと前にAmazon Linux2へ入れたのですが、手元の環境でもチェックしたくなったんですよ。
インストール
brewで本体を入れる
HomeBrewを使うとコマンド一発で入ります。
$ brew install clamav
設定ファイルを準備
雛形をコピー
インストールすると設定ファイルのサンプルが用意されていますので、これをコピーします。
$ cd /usr/local/etc/clamav $ cp clamd.conf.sample clamd.conf $ cp freshclam.conf.sample freshclam.conf
定義ファイルの保存先を準備
ウイルス情報が定義されたデータベースの保存先ディレクトリを準備しておきます。
$ sudo mkdir -p /usr/local/var/lib/clamav $ sudo chown _clamav:_clamav /usr/local/var/lib/clamav
chown等で所有者を変更しておかないと以下のようなエラーが発生します。
$ freshclam ERROR: Can't create mirrors.dat in /usr/local/var/lib/clamav Hint: The database directory must be writable for UID 82 or GID 82
freshclam.confを編集
最新の定義ファイルを取得するのに利用する設定ファイルを準備します。最初のExample
をコメントアウト、先ほど作成したディレクトリを定義ファイルの保存先とします。
$ vi freshclam.conf
# Example
DatabaseDirectory /usr/local/var/lib/clamav
clamd.confを編集
スキャンを行う際の設定を行います。最初のExample
をコメントアウト、定義ファイルの場所を指定、今回はTCPSocketで通信を行うのでその設定を行っています。
$ vi clamd.conf # Example DatabaseDirectory /usr/local/var/lib/clamav LocalSocket /tmp/clamd.socket TCPSocket 3310 TCPAddr 127.0.0.1
デーモンを起動
以下のコマンドを叩くと起動します。1〜2分ほど時間がかかります。デーモンを利用しない場合はこのステップは不要です。
$ sudo /usr/local/sbin/clamd
psコマンドで確認すると無事に起動したのががわかりますね。
$ ps aux | grep clamd root 74380 0.0 4.4 5469824 737168 ?? Ss 2:02PM 0:33.18 /usr/local/sbin/clamd
スキャンする
コマンドのさらに詳しい使い方など詳細はこちらの記事を参照ください。
コマンド版
$ clamscan /Users/katsube/
デーモン版
$ clamdscan /Users/katsube/
その他
シェルスクリプトから起動する
時々しかスキャンしない場合は以下のようなシェルスクリプトを用意しておくと便利ですね。スキャン対象のディレクトリは環境に合わせて適宜ご変更ください。
#!/bin/bash # # ClamAVでスキャン # # 定義ファイルを更新 echo '----- FreshClam' sudo /usr/local/bin/freshclam # デーモンが起動していなければ起こす echo '----- Check ClamAV Daemon' count=`ps aux | grep 'clamd' | grep -v 'grep' | wc -l` if [ $count = 0 ]; then echo '[start clamd]' sudo /usr/local/sbin/clamd fi # スキャン開始 echo '----- Start Scanning' /usr/local/bin/clamdscan /Users/katsube