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 がブートストラップされます。 ファイル システム全体のスキャンを週に 1 回スケジュールし、署名を 1 日に 1 回更新します。 また、$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 に移動します。 clamav と fswatch を含む MacClam インストール ディレクトリを削除します。 MacClam.sh ファイルは削除されません。MacClam を再度実行すると、MacClam を再インストールできます。
スケジュールされたスキャン、監視、およびインストール場所は、スクリプトの先頭で構成変数を編集し、スクリプトを再度実行して変更を適用することで構成できます。
MacClam.sh は非常にシンプルなインターフェイス、つまり 1 つのコマンドですべてを実行できるように設計されています。 これはべき等です。つまり、すべてが正しく設定され、サービスが実行されている場合、MacClam.sh を再実行しても何も起こりません。 構成変数に変更がある場合は、それらが適用されていることを確認し、必要に応じてサービスを再起動します。
MacClam は 3 種類のスキャンを実行します。
アクティブな監視: MacClam は、指定したディレクトリのアクティビティを監視します。 ファイルが変更または作成されると、すぐにスキャンされます。 デフォルトでは、$HOME ディレクトリと Applications ディレクトリが監視されます。
スケジュールされたスキャン: MacClam は、スケジュールされた時間にディレクトリの再帰的スキャンを実行します。 デフォルトでは、ハードドライブ全体が週に 1 回スキャンされます。 スケジュール設定はcronで行います。
オンデマンド スキャン: 1 つ以上のファイルまたはディレクトリ引数を指定してMacClam.sh
を実行すると、指定されたファイルまたはディレクトリがスキャンされます。
いずれの場合も、ウイルスが検出されると、ウイルスは隔離フォルダーに移動されます。 アクティブな監視の場合、ウイルスが特定されると、右上隅に簡単なグラフィック通知が表示されます。