2段階認証になってから、困りましたが、smtpのログインにアプリパスワードでOKでした。
まず、GMAILから、アプリパスワードを手に入れます。
Gmailの2段階認証設定後にThunderbirdのIMAP再設定をする方法!を参考に、Windowsパソコンのアプリパスワードをもらいます。
msmtpを使います。
$ sudo apt-get install msmtp
後にcrondで動かすので、rootで設定します。
#gedit .msmtprc
内容
account default host smtp.gmail.com port 587 user <ユーザー名>@gmail.com password アプリパスワード from <ユーザー名>@gmail.com tls on tls_starttls on tls_certcheck off auth on logfile ~/.msmtp.log
テストしてみましょう。
echo 'Test for mail' | awk 'BEGIN{print "Subject:Test \n";}{print $0;}' | msmtp -a default <メール先>
で送れているはずです。
$ sudo apt install clamav clamav-daemon
始めにウイルス定義の更新をしておく。
$ sudo freshclam
スキャンスクリプトを作る。
# gedit clam-full.sh
内容
#!/bin/sh rm /var/log/clamav/clamscan.log rm /var/log/clamav/freshclam.log freshclam > /var/log/clamav/clamscan.log echo ========================================= date clamscan / \ --infected \ --recursive \ --log=/var/log/clamav/clamscan.log \ --move=/var/log/clamav/virus \ --exclude-dir=^/sys \ --exclude-dir=^/proc \ --exclude-dir=^/dev \ --exclude-dir=^/var/log/clamav/virus # --infected 感染を検出したファイルのみを結果に出力 # --recursive 指定ディレクトリ以下を再帰的に検査 圧縮ファイルは解凍して検査 # --log=FILE ログファイル # --move=DIR 感染を検出したファイルの隔離先 # --remove 感染を検出したファイルを削除 # --exclude=FILE 検査除外ファイル(パターンで指定) # --exclude-dir=DIR 検査除外ディレクトリ(パターンで指定) if [ $? = 0 ]; then echo "ウイルス未検出." cat /var/log/clamav/clamscan.log |awk 'BEGIN{print "Subject:Clamav scan OK. \n";}{print $0;}' | msmtp -a default <メール先> else echo "ウイルス検出!!" cat /var/log/clamav/clamscan.log |awk 'BEGIN{print "Subject:Clamav scan NG. \n";}{print $0;}' | msmtp -a default <メール先> fi
下準備
# mkdir /var/log/clamav/virus
crontab -e
内容
00 04 * * * /root/clam-full.sh