このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

/etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/26(Mon) 07:28
名前: まいなー
URL:
メールサーバーでウィルス&スパムチェック(Postfix+amavisd-new+Clam AntiVirus+SpamAssassin)

CentOS6環境で上記に基づき、Postfix以外を一度すべてアンインストール後、インストールし直しました。

しかし、「ソケット名変更(/etc/clamd.d/amavisd.confのLocalSocketオプションに合わせる)」の通りに
設定しても以下のエラーメッセージが消えませんでした。

amavis[5379]: (05379-13) (!)connect to /var/run/clamav/clamd.sock failed, attempt #1: Can't connect to UNIX socket /var/run/clamav/clamd.sock: \343\201\235\343\201\256\343\202\210\343\201\206\343\201\252\343\203\225\343\202\241\343\202\244\343\203\253\343\202\204\343\203\207\343\202\243\343\203\254\343\202\257\343\203\210\343\203\252\343\201\257\343\201\202\343\202\212\343\201\276\343\201\233\343\202\223
amavis[5379]: (05379-13) (!)ClamAV-clamd: All attempts (1) failed connecting to /var/run/clamav/clamd.sock, retrying (2)

最終的に、LocalSocketを「/var/run/clamav/clamd.sock」にすることで解決しましたが、ClamAV-clamdの
LocalSocketオプションが効いていないのではないでしょうか。
(それとも他にオプションの項目がある?)

念のため、TCPSocket等は無効にしてあります。
記事編集 編集

Page: | 1 | 2 |

Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/27(Tue) 19:05
名前: 管理人
URL:
下記のようになっていないでしょうか。

[root@centos6 ~]# grep LocalSocket /etc/clamd.d/amavisd.conf
LocalSocket /var/spool/amavisd/clamd.sock
[root@centos6 ~]# grep ask_daemon /etc/amavisd/amavisd.conf|grep -v ^#
\&ask_daemon, ["CONTSCAN {}\n", "/var/spool/amavisd/clamd.sock"],
[root@centos6 ~]# /etc/rc.d/init.d/clamd status
clamd は停止しています
[root@centos6 ~]# /etc/rc.d/init.d/clamd.amavisd status
clamd.amavisd (pid 1645) を実行中...

[root@centos6 ~]# grep \$pid_file /etc/amavisd/amavisd.conf
$pid_file = "/var/run/amavisd/amavisd.pid"; # -P
[root@centos6 ~]# /etc/rc.d/init.d/amavisd status
amavisd (pid 4734 4733 4731) を実行中...
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/27(Tue) 21:07
名前: まいなー
URL:
以下の通りとなっています。お手数おかけします。

[root@server ~]# grep LocalSocket /etc/clamd.d/amavisd.conf
LocalSocket /var/run/clamav/clamd.sock
[root@server ~]# grep ask_daemon /etc/amavisd/amavisd.conf|grep -v ^#
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
[root@server ~]# /etc/rc.d/init.d/clamd status
clamd は停止しています
[root@server ~]# /etc/rc.d/init.d/clamd.amavisd status
clamd.amavisd (pid 24534) を実行中...
[root@server ~]# grep \$pid_file /etc/amavisd/amavisd.conf
$pid_file = "/var/run/amavisd/amavisd.pid"; # -P
[root@server ~]# /etc/rc.d/init.d/amavisd status
amavisd (pid 28047 27848 17604) を実行中...
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/28(Wed) 02:43
名前: stranger
URL: http://ja.528p.com/
重要な部分だけ書き出してあります
(デフォルトの設定値です)

/etc/rc.d/init.d/clamd.amavisd
CLAMD_SERVICE=amavisd
. /usr/share/clamav/clamd-wrapper

/usr/share/clamav/clamd-wrapper
sysconffile=/etc/sysconfig/clamd.${CLAMD_SERVICE}
CLAMD_CONFIGFILE=/etc/clamd.d/${CLAMD_SERVICE}.conf

## backward-compatibility check...
for i in /var/run/clamd.${CLAMD_SERVICE}/clamd.sock \
/var/run/clamav.${CLAMD_SERVICE}/clamd.sock; do
CLAMD_SOCKET=$i
test ! -e "$i" || break
done
test -f "$sysconffile" && . "$sysconffile"

start () {
echo -n $"Starting $prog: "
daemon --pidfile=${CLAMD_PIDFILE} \
exec -a $procname /usr/sbin/clamd \
${CLAMD_CONFIGFILE:+-c $CLAMD_CONFIGFILE} ${CLAMD_OPTIONS} --pid ${CLAMD_PIDFILE}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}

/etc/sysconfig/clamd.amavisd
CLAMD_CONFIGFILE=/etc/clamd.d/amavisd.conf
CLAMD_SOCKET=/var/spool/amavisd/clamd.sock
CLAMD_OPTIONS=

/etc/clamd.d/amavisd.conf
# Path to a local socket file the daemon will listen on.
LocalSocket /var/spool/amavisd/clamd.sock

/etc/amavisd/amavisd.conf
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/var/spool/amavisd/clamd.sock"],
qr/\bOK$/m, qr/\bFOUND$/m,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
# NOTE: run clamd under the same user as amavisd - or run it under its own
# uid such as clamav, add user clamav to the amavis group, and then add
# AllowSupplementaryGroups to clamd.conf;
# NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
# this entry; when running chrooted one may prefer a socket under $MYHOME.

/etc/clamd.conf
# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/clamav/clamd.sock

Unixドメインソケットプロセス間通信なのだから
どっちかに合わせないと不具合が出るんじゃないの?

${CLAMD_CONFIGFILE:+-c $CLAMD_CONFIGFILE}の部分でamavisd.confが読み込まれ
LocalSocket /var/spool/amavisd/clamd.sock に設定されて clamdが起動されると思うけど
問題があるなら clamd.conf の方の設定を変えてみる
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/28(Wed) 07:39
名前: まいなー
URL:
stranger様

現状、Postfix以外をアンインストールし、再度インストール後にこのサイトのとおりに
設定しています。

>Unixドメインソケットプロセス間通信なのだから
>どっちかに合わせないと不具合が出るんじゃないの?
これは、このサイトに記載がある以下のことでしょうか。であれば、合っています。

\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"], ← ソケット名変更(/etc/clamd.d/amavisd.confのLocalSocketオプションに合わせる)

気にしているのは、上記のとおりに合わせても「/var/run/clamav/clamd.sock」以外だと
最初のメッセージが出てしまう部分と、sa-updateがうまくいかなくなった部分です。

もう一度、Postfix以外をアンインストール、インストールからやり直したほうがいいでしょうか。。

現状以下の通りとなっています。

[root@server ~]# cat /etc/rc.d/init.d/clamd.amavisd
CLAMD_SERVICE=amavisd
. /usr/share/clamav/clamd-wrapper
[root@server ~]#
[root@server ~]# cat /usr/share/clamav/clamd-wrapper
lockfile=/var/lock/subsys/clamd.${CLAMD_SERVICE}
sysconffile=/etc/sysconfig/clamd.${CLAMD_SERVICE}
procname=clamd.${CLAMD_SERVICE}

CLAMD_CONFIGFILE=/etc/clamd.d/${CLAMD_SERVICE}.conf
CLAMD_OPTIONS=
CLAMD_PIDFILE=`grep ^PidFile ${CLAMD_CONFIGFILE} | awk '{print $2}'`
## backward-compatibility check...
for i in /var/run/clamd.${CLAMD_SERVICE}/clamd.sock \
/var/run/clamav.${CLAMD_SERVICE}/clamd.sock; do
CLAMD_SOCKET=$i
test ! -e "$i" || break
done
test -f "$sysconffile" && . "$sysconffile"

RETVAL=0
prog="clamd.${CLAMD_SERVICE}"

start () {
echo -n $"Starting $prog: "
daemon --pidfile=${CLAMD_PIDFILE} \
exec -a $procname /usr/sbin/clamd \
${CLAMD_CONFIGFILE:+-c $CLAMD_CONFIGFILE} ${CLAMD_OPTIONS} --pid ${CLAMD_PIDFILE}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}

[root@server ~]#
[root@server ~]# cat /etc/sysconfig/clamd.amavisd
CLAMD_CONFIGFILE=/etc/clamd.d/amavisd.conf
CLAMD_SOCKET=/var/spool/amavisd/clamd.sock
CLAMD_OPTIONS=
[root@server ~]#
[root@server ~]# grep LocalSocket /etc/clamd.d/amavisd.conf
LocalSocket /var/run/clamav/clamd.sock
[root@server ~]# grep ask_daemon /etc/amavisd/amavisd.conf|grep -v ^#
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
[root@server ~]#
[root@server ~]# grep LocalSocket /etc/clamd.conf
LocalSocket /var/run/clamav/clamd.sock
#LocalSocketGroup virusgroup
#LocalSocketMode 660
[root@server ~]#
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/28(Wed) 07:48
名前: まいなー
URL:
今いろいろ試していましたら、おかしな状態を確認しました。
取り敢えず、sa-updateのために、/etc/clamd.d/amavisd.confのPidFileを変えようと
PidFile /var/run/amavisd/clamd.pid
上記から
PidFile /var/run/amavisd/amavisd.pid
上記へ変更しました。が、どちらに修正してもamavisdをrestartすると停止に失敗します。

[root@server ~]# /etc/rc.d/init.d/amavisd restart
amavisd を停止中: The amavisd daemon is apparently not running, no PID file /var/run/amavisd/amavisd.pid
[失敗]

amavisd を起動中: [ OK ]

[root@server ~]# /etc/rc.d/init.d/amavisd restart
amavisd を停止中: The amavisd daemon is apparently not running, no PID file /var/run/amavisd/amavisd.pid
[失敗]

amavisd を起動中: [ OK ]

[root@server ~]#

プロセスが残ったままになっている?もう少し試してみます。
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/28(Wed) 09:37
名前: まいなー
URL:
一度残っていたプロセスをkillし、再度設定し直し確認しました。
すると、今度は設定したもの(/var/spool/amavisd/clamd.sock)を読みに行こうとはしてくれましたが、別の問題が生じました。

Sep 28 08:48:06 server amavis[4747]: (04747-01) (!)connect to /var/spool/amavisd/clamd.sock failed, attempt #1: Can't connect to a UNIX socket /var/spool/amavisd/clamd.sock: 2
Sep 28 08:48:07 server amavis[4747]: (04747-01) (!)ClamAV-clamd: All attempts (1) failed connecting to /var/spool/amavisd/clamd.sock, retrying (2)

状況が変わり、今度はSocketファイルの名称が以下の通りamavisd.sockという名称で生成されていました。

[root@server ~]# ll /var/spool/amavisd/
合計 12
srwxr-x--- 1 amavis amavis 0 9月 28 09:06 2016 amavisd.sock
drwxr-x--- 2 amavis amavis 4096 9月 28 09:06 2016 db
drwxr-x--- 2 amavis amavis 4096 8月 4 06:19 2014 quarantine
drwxr-x--- 3 amavis amavis 4096 9月 28 09:07 2016 tmp
[root@server ~]#

この設定を誰がしているのか探してみました。

[root@server ~]# find /etc -type f -print | xargs grep 'amavisd.sock'
/etc/logwatch/scripts/services/amavis: #TD Net::Server: Binding to UNIX socket file /var/spool/amavis/amavisd.sock using SOCK_STREAM
/etc/amavisd/amavisd.conf:$unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release or amavis-milter
[root@server ~]#

もしかして、amavisd.sockは決め打ち?という事で、各設定を以下の通り設定したところ
上手く動いているようです。

[root@server ~]# grep LocalSocket /etc/clamd.d/amavisd.conf
LocalSocket /var/spool/amavisd/amavisd.sock
[root@server ~]# grep ask_daemon /etc/amavisd/amavisd.conf|grep -v ^#
\&ask_daemon, ["CONTSCAN {}\n", "/var/spool/amavisd/amavisd.sock"],
[root@server ~]#

色々と設定箇所が複雑に絡んでいるような気がしますが、取り敢えずこれで運用してみようと思います。

質問ですが、「amavisd.sock」という、Socketファイル名は固定なのでしょうか。
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/09/28(Wed) 10:30
名前: まいなー
URL:
お騒がせ致しました。上記で上手くいっているような気がしていましたが
また違うエラーが出ていました。

Sep 28 09:45:37 server amavis[8105]: (08105-05) (!)ClamAV-clamd av-scanner FAILED: run_av error: ask_daemon_internal: Exceeded allowed time at (eval 113) line 606.\n
Sep 28 09:45:37 server amavis[8105]: (08105-05) (!)WARN: all primary virus scanners failed, considering backups

どんどん違う方向にはまっていった為、ここで、再度最初からclamd等全て再インストールし
再設定したところ、正常に動作しました。

結局、最初にプロセスが残っていた状態であれこれ試していたのが問題だったような気がします。

お時間取らせてしまい申し訳ありません。有り難う御座いました。
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/10/04(Tue) 09:10
名前: まいなー
URL:
一通り、解決したと思っていましたが、一点だけ修正必要でしたので報告します。

毎日Cronからのメールで以下のようなメッセージが出ていました。

WARNING: Clamd was NOT notified: Can't connect to clamd through /var/spool/amavisd/clamd.sock: Permission denied

原因を探ったところ、freshclam.confのDatabaseOwnerを合わせておく必要があったようです。

vi /etc/freshclam.conf

#DatabaseOwner clamav
DatabaseOwner amavis

このあと、ログやlibの所有者をamavisに修正し、上手く動いているようです。
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/10/10(Mon) 10:02
名前: まいなー
URL:
もう一点、チェックすべき箇所がありましたので報告します。

freshclamのログがローテートされた際、生成されるログのオーナーが
デフォルトでclam.clamとなっています。

これを、合わせてあげる必要があるかと思います。(下記の部分)

> chown clam.clam "$LOG_FILE"
記事編集 編集
Re: /etc/clamd.d/amavisd.confのLocalSocketオプションについて このメッセージに返信する
日時: 2016/10/24(Mon) 11:46
名前: さとう
URL:
The amavisd daemon is apparently not running, no PID file /var/run/amavisd/amavisd.pid
[失敗]
こちらの件、

rpm -e --nodeps perl-IO-Socket-INET6

perl-IO-Socket-INET6を削除して最初から設定してみてください。
私も「メールサーバーでウィルス&スパムチェック(Postfix+amavisd-new+Clam AntiVirus+SpamAssassin)」の記事のとおり
設定してうまくいかなかったので検索したら上手く動いてくれました。
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -