業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

OracleLinux10.2 : Clamav ( アンチウィルスソフト ) , Mailサーバー

clamav ( アンチウィルスソフト )のインストール

1.Clam AntiVirusインストール

# dnf -y install clamav clamd clamav-update

2.Clam AntiVirus設定ファイル編集

# vi /etc/clamd.d/scan.conf

14行目 : コメント解除
# Default: disabled
LogFile /var/log/clamd.scan

77行目 : コメント解除
# Default: disabled
PidFile /run/clamd.scan/clamd.pid

101行目 : コメント解除
# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /run/clamd.scan/clamd.sock

233行目 : コメントアウト(root権限で動作するようにする)
# Run as another user (clamd must be started by root for this option to work)
# Default: don't drop privileges
#User clamscan

3.ウイルス定義ファイル更新設定

# vi /etc/freshclam.conf

78行目 : コメントアウトして、下に追加
#DatabaseMirror database.clamav.net
DatabaseMirror db.jp.clamav.net

154 行目あたり : 追加
#NotifyClamd /path/to/clamd.conf
NotifyClamd /etc/clamd.d/scan.conf

4.ウイルス定義ファイル最新化

# freshclam
ClamAV update process started at Fri Jul 17 13:19:28 2026
daily database available for download (remote version: 28062)
Time:    0.3s, ETA:    0.0s [========================>]   22.33MiB/22.33MiB
Testing database: '/var/lib/clamav/tmp.94a37bbb38/clamav-ecf5161af9e11e08a7ecbf21e2fca333.tmp-daily.cvd' ...
Database test passed.
daily.cvd updated (version: 28062, sigs: 355511, f-level: 90, builder: svc.clamav-publisher)
main database available for download (remote version: 63)
Time:    1.0s, ETA:    0.0s [========================>]   84.95MiB/84.95MiB
Testing database: '/var/lib/clamav/tmp.94a37bbb38/clamav-2cc5c54405d6bea96e31d4bf69b375e2.tmp-main.cvd' ...
Database test passed.
main.cvd updated (version: 63, sigs: 3287027, f-level: 90, builder: tomjudge)
bytecode database available for download (remote version: 339)
Time:    0.0s, ETA:    0.0s [========================>]  275.10KiB/275.10KiB
Testing database: '/var/lib/clamav/tmp.94a37bbb38/clamav-b5e0dce1c644a45e2bc1376753d28bbc.tmp-bytecode.cvd' ...
Database test passed.
bytecode.cvd updated (version: 339, sigs: 80, f-level: 90, builder: nrandolp)
WARNING: Clamd was NOT notified: Can't connect to clamd through /run/clamd.scan/clamd.sock: No such file or directory

5.Clam AntiVirus起動

clamd自動起動設定

# systemctl start clamd@scan
# systemctl enable clamd@scan

動作確認

# systemctl status clamd@scan
● clamd@scan.service - clamd scanner (scan) daemon
     Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled; preset: disabled)
     Active: active (running) since Fri 2026-07-17 13:21:05 JST; 1min 38s ago
 Invocation: 6817e16c196f46e6b4a681291bff4057
       Docs: man:clamd(8)
             man:clamd.conf(5)
             https://www.clamav.net/documents/
   Main PID: 28681 (clamd)
      Tasks: 2 (limit: 21555)
     Memory: 958.7M (peak: 959.1M)
        CPU: 9.693s
     CGroup: /system.slice/system-clamd.slice/clamd@scan.service
             └─28681 /usr/sbin/clamd -c /etc/clamd.d/scan.conf

Jul 17 13:21:05 Lepard clamd[28681]: ELF support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: Mail files support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: OLE2 support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: PDF support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: SWF support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: HTML support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: XMLDOCS support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: HWP3 support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: OneNote support enabled.
Jul 17 13:21:05 Lepard clamd[28681]: Self checking every 600 seconds

6.ウィスルスキャンを実施

■テスト用ウィルスをダウンロードして、ウィスルスキャンを実施

# cd /home
# wget https://secure.eicar.org/eicar.com.txt 
# clamscan --infected --remove --recursive /home
/home/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND
/home/eicar.com.txt: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 3627917
Engine version: 1.4.5
Scanned directories: 5
Scanned files: 16
Infected files: 1
Data scanned: 0.01 MB
Data read: 0.00 MB (ratio 2.00:1)
Time: 13.804 sec (0 m 13 s)
Start Date: 2026:07:17 13:23:40
End Date:   2026:07:17 13:23:54

7.ウィルススキャン自動実行スクリプトの導入

スクリプト格納ディレクトリー作成

# mkdir -p /var/www/system

システム全体をスキャンするスクリプトclamscan.sh を /var/www/system/配下に作成

# vi /var/www/system/clamscan.sh

以下内容を記述
#!/bin/bash
PATH=/usr/bin:/bin
# excludeopt setup
excludelist=/var/www/system/clamscan.exclude
if [ -s $excludelist ]; then
for i in `cat $excludelist`
do
if [ $(echo "$i"|grep \/$) ]; then
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
excludeopt="${excludeopt} --exclude-dir=$i"
else
excludeopt="${excludeopt} --exclude=$i"
fi
done
fi
# signature update
freshclam
# virus scan
clamscan --recursive --remove ${excludeopt} /
# chmod 700 /var/www/system/clamscan.sh

8.ウイルススキャン除外ディレクトリー設定

# echo "/sys/" >> /var/www/system/clamscan.exclude
# echo "/proc/" >> /var/www/system/clamscan.exclude

sys ディレクトリ、proc ディレクトリは対象外にする

9.ウィルススキャンの定期実行

# crontab -e
0 1 * * * /var/www/system/clamscan.sh > /dev/null 2>&1

10.試しにスクリプトを実行し、フルスキャンする(時間がかかります)

# /var/www/system/clamscan.sh

----------- SCAN SUMMARY -----------
Known viruses: 3627917
Engine version: 1.4.5
Scanned directories: 16613
Scanned files: 101075
Infected files: 0
Data scanned: 11092.27 MB
Data read: 5071.62 MB (ratio 2.19:1)
Time: 1614.336 sec (26 m 54 s)
Start Date: 2026:07:17 13:27:07
End Date:   2026:07:17 13:54:02

メールサーバー インストール

1. Postfix

1.1 インストール
Postfix をインストールして SMTP サーバーを構築します

# dnf -y install postfix

Postfix がインストールされているか確認

# rpm -qa | grep postfix
postfix-lmdb-3.8.5-9.el10.x86_64
postfix-3.8.5-9.el10.x86_64
postfix-perl-scripts-3.8.5-9.el10.x86_64
pcp-pmda-postfix-7.0.3-3.0.2.el10.x86_64

1.2 Postfix をサービスへ登録

# systemctl enable postfix.service
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

1.3 postfix の設定ファイル、main.cf とmaster.cf ファイルをバックアップ

# cp -p /etc/postfix/main.cf `date '+/etc/postfix/main.cf.%Y%m%d'`
# cp -p /etc/postfix/master.cf `date '+/etc/postfix/master.cf.%Y%m%d'`

1.4 postfix の設定ファイル編集
メール不正中継防止のため、Dovecot の SASL 機能を利用して、送信にも認証を要求するように Postfix を設定します

# vi /etc/postfix/main.cf

100 行目 : 追加
#myhostname = virtual.domain.tld
myhostname = mail.<ドメイン>

107 行目 : 自ドメイン名を追加
#mydomain = domain.tld
mydomain = <ドメイン>

122 行目 : コメントアウト削除
myorigin = $mydomain

136 行目 : コメントアウト削除
inet_interfaces = all

139 行目 : コメントアウト
#inet_interfaces = localhost

187 行目コメントアウトし、188行目コメントアウト削除
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

293 行目あたりに追加
#mynetworks = 168.100.3.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 192.168.11.0/24, 127.0.0.0/8 ←192.168.11.0/24は各自環境に合わす

447 行目あたりコメント削除
メールの格納形式の設定をします。
#home_mailbox = Mailbox
home_mailbox = Maildir/ 

454 行目あたりコメント削除
mail_spool_directory = /var/spool/mail 

602 行目あたりに追加
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown

以下の内容を最終行に追加
# 送受信メールサイズを 10M に制限
message_size_limit = 10485760
# メールボックスサイズを 1G に制限
mailbox_size_limit = 1073741824
# SMTP-Auth 設定
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject

SMTP ポート(25 番ポート) の解放

# firewall-cmd --add-service=smtp --permanent
# firewall-cmd --reload

1.5 Postfix を起動

# systemctl restart postfix

2.Dovecot

2.1 dovecotインストール

# dnf -y install dovecot

2.2 dovecot.conf ファイルを編集

# cp -p /etc/dovecot/dovecot.conf `date '+ /etc/dovecot/dovecot.conf.%Y%m%d'`

# vi /etc/dovecot/dovecot.conf

25 行目あたりに追加
# protocols = imap pop3 lmtp submission
protocols = imap pop3

30行目 : コメント解除
# IPv4 のみリスンする場合は [::] を削除
listen = *, ::

2.3 10-auth.conf ファイルを編集

# vi /etc/dovecot/conf.d/10-auth.conf

10行目 : コメント解除し変更
プレーンテキスト認証も許可する場合
disable_plaintext_auth = no

100行目 : 追記
auth_mechanisms = plain login

2.4 10-mail.conf ファイルを編集

# vi /etc/dovecot/conf.d/10-mail.conf

31行目 : 追記
mail_location = maildir:~/Maildir

2.5 10-master.conf ファイルを編集

# vi /etc/dovecot/conf.d/10-master.conf

110-112行目 : コメント解除して追記
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

2.6 10-ssl.conf ファイルを編集

# vi /etc/dovecot/conf.d/10-ssl.conf

8 行目あたり
「ssl = required」を「ssl = yes」に変更
ssl = yes

2.7 dovecot をサービスに登録し、起動する

# systemctl enable dovecot.service
Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /usr/lib/systemd/system/dovecot.service.

# systemctl start dovecot.service

2.8 firewalldでPOP/IMAP サービスの許可ポート開放を行う
POP は [110/TCP], IMAP は [143/TCP]

# firewall-cmd --permanent --add-service=pop3
# firewall-cmd --permanent --add-service=imap
# firewall-cmd --reload

3.メールユーザー作成と動作確認

3.1 事前準備
①新規ユーザーの為の前処理
新規でユーザーを追加した場合、自動的にメールの送受信ができるよう設定をします。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/
# echo "~/Maildir/"> /etc/skel/.forward
# chmod 600 /etc/skel/.forward

②既存ユーザーのメール環境前処理
すでに作成してあるユーザーがメールの送受信が出来るよう設定をします。

# mkdir -p /home/huong/Maildir/{new,cur,tmp}
# chown -R huong:huong /home/huong/Maildir/
# chmod 700 /home/huong/Maildir
# chmod 700 /home/huong/Maildir/{new,cur,tmp}

3.2 ユーザーアカウント作成

メールクライアントインストール
# dnf -y install s-nail 
# echo 'export MAIL=$HOME/Maildir' >> /etc/profile.d/mail.sh

ユーザー [linux] を追加
# useradd linux
# passwd linux
New password:
Retype new password:
passwd: password updated successfully

3.3 動作確認 ①
メールユーザーでログインして、テストメールを送る

# su - linux
$ mail linux@localhost
Subject: Test Mail
To: linux@localhost
mail test
^D
-------
(Preliminary) Envelope contains:
To: linux@localhost
Subject: Test Mail
Send this message [yes/no, empty: recompose]? y

メール確認

$ mail
s-nail version v14.9.24.  Type `?' for help
/home/linux/Maildir: 1 message 1 new
▸N  1 linux@korodes.com     2026-07-17 14:34   14/408   "Test Mail                                    "
& 1
[-- Message  1 -- 14 lines, 408 bytes --]:
Date: Fri, 17 Jul 2026 14:34:37 +0900
To: linux@localhost
Subject: Test Mail
Message-Id: <20260717053437.35965225695B@mail.korodes.com>
From: linux@korodes.com

mail test

& q
Held 1 message in /home/linux/Maildir

3.4 動作確認 ②
Mozilla Thunderbirdにアカウントを設定し、確認します(メールユーザーとしてOSユーザーhuongの場合)
①Thunderbirdを起動し、右上の[三本]メニューの[New Account][Email]をクリック

Full name : 任意の名称
Email address : huong@<domain-name>
をそれぞれ入力し、「Continue」クリック

[EDIT CONFIGURATION]をクリック

受信サーバーの設定
[Connection security]を[None]にして[Continue]をクリック

送信サーバーの設定
[Connection security]を[None]にして[Test]をクリック

[Continue]をクリック

[Password]欄にユーザーのパスワードを入力し、[Continue]をクリック

[Continue]をクリック

メールアカウントの作成が成功しましたので、[Finish]をクリック

Mail サーバー : Postfix + Clamav + clamav-milter+SpamAssassin

1.メールのリアルタイムスキャン

①clamav-milterインストール
Clam AntiVirusを使用してメールサーバー側でメールに対するウイルスチェックを行う。
メールサーバーとClam AntiVirusとの連携はclamav-milterを利用して行なう。

#  dnf -y install clamav-milter clamav-milter-systemd

➁clamav-milter設定
clamav-milter設定ファイル編集

# vi /etc/mail/clamav-milter.conf

6行目 : コメントアウト
# Comment or remove the line below.
#Example

23-24行目当たり: 追加
# Default: no default
#MilterSocket /run/clamav-milter/clamav-milter.socket
#MilterSocket /tmp/clamav-milter.sock
#MilterSocket inet:7357
MilterSocket /var/run/clamav-milter/clamav-milter.socket ← clamav-milterのUNIXソケット名を指定
MilterSocketMode 660 ← clamav-milterのUNIXソケットのアクセス権を指定

98行目当たり: 追加
# Default: no default
#ClamdSocket tcp:scanner.mydomain:7357
#ClamdSocket unix:/run/clamav/clamd.sock
ClamdSocket unix:/var/run/clamd.scan/clamd.sock ← Clam AntiVirusのUNIXソケット名を指定(/etc/clamd.d/scan.confのLocalSocketオプションに合わせる)

171行目当たり : 追加
# Action to be performed on infected messages
# Default: Quarantine
#OnInfected Quarantine
OnInfected Blackhole ← ウイルス感染メールは破棄

193行目当たり : 追加
# Note that while "Replace" can potentially break DKIM signatures, "Add" may
# confuse procmail and similar filters.
# Default: no
#AddHeader Replace
AddHeader Yes ← メールヘッダにウイルスチェック実施した旨を出力

253行目当たり : コメント解除
# Default: LOG_LOCAL6
LogFacility LOG_MAIL ← ログ出力先をメールログにする

➂clamav-milter起動・自動起動設定

# systemctl start clamav-milter
# systemctl enable clamav-milter

④Postfix・clamav-milter連携設定
Postfix設定ファイル編集

# vi /etc/postfix/main.cf

最終行に下記を追加
milter_default_action = tempfail
smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket
non_smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket

⑤clamiltグループにpostfixユーザーを追加

# usermod -G clamilt -a postfix

⑥Postfix設定反映

# systemctl restart postfix

⑦Thunderbirdで確認
Thunderbirdで自分宛に空メールを送付し、受信メールのヘッダー表示部分に下記のように
「X-Virus-Scanned: clamav-milter 1.4.5 at Lepard」が表示される

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: xxxxx@xxxxxx.com
X-Original-To: xxxxx@xxxxxx.com
Delivered-To: xxxxx@xxxxxx.com
Received: from [192.168.11.14] (buffalo.setup [192.168.11.1])
  by mail.xxxxxxx.com (Postfix) with ESMTPA id 53CFE2148EA3
  for xxxxx@xxxxxx.com; Fri, 17 Jul 2026 14:46:03 +0900 (JST)
Message-ID: 1dec7f6b-0a1c-43f0-9580-46212c4c0e09@xxxxxxx.com
Date: Fri, 17 Jul 2026 14:46:00 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: xxxxx xxxxx@xxxxxx.com
Content-Language: en-US
To: xxxxxx xxxxx@xxxxxx.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 1.4.5 at Lepard
X-Virus-Status: Clean

自分自身にメール本文が「X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*」のメールを送ってみて、メールが破棄されて届かないことを確認する

2.メールのスパム対策

2.1 SpamAssassin・procmail・postfix設定

①SpamAssassin・procmailインストール

# dnf -y install spamassassin procmail

➁procmailの設定
設定をユーザー全員に適用する場合は
/etc/procmailrc を作成

各個人毎に設定する場合は、各ユーザホームディレクトリに
~/.procmailrc を作成
今回は/etc/procmailrc を作成する

# vi /etc/procmailrc

procmailrcの内容

SHELL=/bin/bash
PATH=/usr/bin:/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SPAM=$MAILDIR/.Spam/
LOGFILE=$HOME/.procmail.log # ログ出力先
VERBOSE=ON # 詳細ログ出力
 
# メールヘッダー中に「 X-Spam-*** 」の記述がなければ spamassassin を起動します
:0fw
*!^X-Spam.*
|spamassassin
 
# メールヘッダー中に「 X-Spam-Status: Yes 」の記述があれば、「 .Spam 」ディレク
トリにメールを格納します
:0
* ^X-Spam-Status: Yes
$SPAM

➂postfixの設定ファイル編集

# vi /etc/postfix/main.cf
 
477行目あたりに追加
mailbox_command = /usr/bin/procmail -a "$EXTENSION"

④spamassassinの設定ファイル編集

# vi /etc/mail/spamassassin/v310.pre

24 行目あたり行頭の#を削除
loadplugin Mail::SpamAssassin::Plugin::DCC

⑤postfix、spamassassinを再起動

# systemctl restart postfix spamassassin
# systemctl enable spamassassin

⑥Thudrtbirdで確認
自分あてに空メール送信し、ヘッダーに下記のように表示されれば正常

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: xxxxx@xxxxxx.com
X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on Lepard
X-Spam-Level: ***
X-Spam-Status: No, score=3.1 required=5.0 tests=ALL_TRUSTED,EMPTY_MESSAGE,
  MISSING_SUBJECT autolearn=no autolearn_force=no version=4.0.1


--------------------------------------------------

⑦SpamAssassin 設定ファイル最新化スクリプト作成

# cd /var/www/system

# vi spamassassin-update.sh
下記内容を記述
#!/bin/bash

cd /etc/mail/spamassassin
wget -q https://github.com/kittyfreak/spamassassin_user_prefs/archive/refs/heads/main.zip
[ $? -ne 0 ] && exit
unzip main.zip >/dev/null 2>&1
[ $? -ne 0 ] && exit
rm -f main.zip
mv spamassassin_user_prefs-main/user_prefs .
rm -rf spamassassin_user_prefs-main
diff user_prefs user_prefs.org > /dev/null 2>&1
if [ $? -ne 0 ]; then
cp user_prefs local.cf
echo "report_safe 0" >> local.cf
echo "rewrite_header Subject ***SPAM***" >> local.cf
# SpamAssassin再起動
if [ -f /etc/rc.d/init.d/spamassassin ]; then
/etc/rc.d/init.d/spamassassin restart > /dev/null
else
systemctl restart spamassassin > /dev/null
fi
fi
cp user_prefs user_prefs.org

spamassassin-update スクリプトに実行権限を付与し、実行

# chmod 700 /var/www/system/spamassassin-update.sh
# /var/www/system/spamassassin-update.sh

/etc/mail/spamassassin ディレクトリにSpamAssassin 設定ファイル(local.cf)が当日日付で
作成されていることを確認

# ls -l /etc/mail/spamassassin
total 1636
drwxr-xr-x 2 root root     40 Jul 17 14:51 channel.d
-rw-r--r-- 1 root root   1649 Nov 29  2024 init.pre
-rw-r--r-- 1 root root 500636 Jul 17 14:58 local.cf
drwx------ 2 root root      6 Nov 29  2024 sa-update-keys
-rw-r--r-- 1 root root     62 Nov 29  2024 spamassassin-default.rc
-rwxr-xr-x 1 root root     39 Nov 29  2024 spamassassin-helper.sh
-rw-r--r-- 1 root root     55 Nov 29  2024 spamassassin-spamc.rc
-rw-r--r-- 1 root root 500588 Apr 30  2023 user_prefs
-rw-r--r-- 1 root root 500588 Jul 17 14:58 user_prefs.org
-rw-r--r-- 1 root root   2262 Jul 17 14:55 v310.pre
-rw-r--r-- 1 root root   1168 Nov 29  2024 v312.pre
-rw-r--r-- 1 root root   2416 Nov 29  2024 v320.pre
-rw-r--r-- 1 root root   1237 Nov 29  2024 v330.pre
-rw-r--r-- 1 root root   1020 Nov 29  2024 v340.pre
-rw-r--r-- 1 root root   1315 Nov 29  2024 v341.pre
-rw-r--r-- 1 root root   1519 Nov 29  2024 v342.pre
-rw-r--r-- 1 root root   1266 Nov 29  2024 v343.pre
-rw-r--r-- 1 root root   1482 Nov 29  2024 v400.pre
-rw-r--r-- 1 root root   1118 Nov 29  2024 v401.pre

SpamAssassin 設定ファイルを最新化するスクリプトが毎日自動実行されるようcron に設定

# crontab -e

下記を記述
0 2 * * * /var/www/system/spamassassin-update.sh > /dev/null 2>&1

2.2 スパムメール振分け設定

SpamAssassinによりメールヘッダにスパムメールの印を付けられたメールはスパム専用メールボックスへ、その他のメールは通常どおりのメールボックスへ配送するようにする。

スパム専用メールボックス作成
既存ユーザーについては、メールボックスにスパム専用メールボックスを追加する。
また、新規ユーザーについては、ユーザー追加時に自動でスパム専用メールボックスが作成されるようにする 。
①スパム専用メールボックス作成スクリプト作成

# vi spamfolder-create

下記を記述
#!/bin/bash

for user in `ls /home`
do
    id -u $user > /dev/null 2>&1
    if [ $? -eq 0 ] && [ ! -d /home/$user/Maildir/.Spam/new ]; then
        mkdir -p /home/$user/Maildir/.Spam/new
        mkdir -p /home/$user/Maildir/.Spam/cur
        mkdir -p /home/$user/Maildir/.Spam/tmp
        chmod -R 700 /home/$user/Maildir/.Spam
        chown -R $user:$user /home/$user/Maildir/.Spam
        echo $user
    fi
done

スパム専用メールボックス作成スクリプト実行

# bash spamfolder-create
huong
linux
smbuser

新規ユーザー対策
新規ユーザー追加時に自動でスパム専用メールボックス作成

# mkdir -p /etc/skel/Maildir/.Spam/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/.Spam

➁スパムメール振分け
SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送する

# vi /etc/procmailrc

以下を最後尾へ追加
# SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送
:0
*^X-Spam-Flag: YES
$HOME/Maildir/.Spam/

➂スパムチェック確認
自分自身にメール本文が「XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X」のメールを送るとメールは配信されずSpamフォルダへ振り分けられていることを確認する
ヘッダーには次のように記載されている

X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on Lepard
X-Spam-Flag: YES
X-Spam-Level: ********************************************
X-Spam-Status: Yes, score=1001.8 required=13.0 tests=ALL_TRUSTED,
     CONTENT_TYPE_PRESENT,GTUBE,HTML_MESSAGE,MPART_ALT_DIFF,
     MULTIPART_ALTERNATIVE autolearn=no autolearn_force=no version=4.0.1
X-Spam-Report:
     * 0.1 ALL_TRUSTED Passed through trusted hosts only via SMTP
     * -0.1 CONTENT_TYPE_PRESENT exists:Content-Type
     * 0.1 MULTIPART_ALTERNATIVE Multipart/alternative
     * 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
     * 0.7 MPART_ALT_DIFF BODY: HTML and text parts are different
     * 1.0 HTML_MESSAGE BODY: HTML included in message