clamsmtpd は、clamsmtpd.conf で指定されたユーザーで始まりません。

clamsmtpd は、clamsmtpd.conf で指定されたユーザーで始まりません。

私のサーバーをDebian StretchからDebian Busterにアップグレードしたため、ファイルに割り当てたにもかかわらずclamsmtpd常にそのユーザーとして実行されます。ファイルの内容は次のとおりです。clamsmtpclamav/etc/clamsmtpd.conf

# ------------------------------------------------------------------------------
#                        SAMPLE CLAMSMTPD CONFIG FILE
# ------------------------------------------------------------------------------
#
# - Comments are a line that starts with a #
# - All the options are found below with their defaults commented out


# The address to send scanned mail to.
# This option is required unless TransparentProxy is enabled
OutAddress: 10025

# The maximum number of connection allowed at once.
# Be sure that clamd can also handle this many connections
#MaxConnections: 64

# Amount of time (in seconds) to wait on network IO
#TimeOut: 180

# Address to listen on (defaults to all local addresses on port 10025)
Listen: 127.0.0.1:10026

# The address clamd is listening on
ClamAddress: /var/run/clamav/clamd.ctl

# A header to add to all scanned email
Header: X-AV-Checked: ClamAV using ClamSMTP

# Directory for temporary files
TempDirectory: /var/spool/clamsmtp

# PidFile: location of PID file
PidFile: /var/run/clamsmtp/clamsmtpd.pid

# Whether or not to bounce email (default is to silently drop)
#Bounce: off

# Whether or not to keep virus files
#Quarantine: off

# Enable transparent proxy support
#TransparentProxy: off

# User to run as
#User: clamsmtp
User: clamav

# Virus actions: There's an option to run a script every time a
# virus is found. Read the man page for clamsmtpd.conf for details.

再起動サービスを使用しservice clamsmtp restartてコマンドを実行すると、userで実行されているps -eafことがわかります。デーモンが設定ファイルで指定された値を使用するのを防ぐ方法についての手がかりはありますか?/usr/sbin/clamsmtpdclamsmtp

ベストアンサー1

この質問を投稿した後、/etc/systemd/system/multi-user.target.wants/clamsmtp.serviceclamsmtpサービスを開始するためのパラメータを含む次のファイルが見つかりました。

[Unit]
Description=virus-scanning SMTP proxy clamsmtp
Documentation=man:clamsmtpd(8)
After=network.target local-fs.target

[Service]
Type=forking
User=clamsmtp
Group=clamsmtp
RuntimeDirectory=clamsmtp
ExecStart=/usr/sbin/clamsmtpd

[Install]
WantedBy=multi-user.target

このサービスを実行しているユーザーを指定するUserパラメーターを確認してください。その行をに切り替えてUser=clamavサービスを再起動し、clamsmtpd現在ユーザーとして実行中ですclamav

Userまた、で指定されたパラメータが考慮されていない理由も見つかりました。/etc/clamsmtpd.conf内部にclamsmtpd.conf のマニュアルページ、パラメータについて次のように説明しますUser

ユーザー:実際のユーザーです。このオプションを指定した場合は、clamsmtpd(8)をrootで開始する必要があります。その後、root権限を放棄し、指定されたユーザーとして実行されます。ユーザーは名前または数字のユーザーIDです。

サービスがrootとして開始されていないため、指定されたユーザーに切り替えることはできません。

おすすめ記事