私のサーバーをDebian StretchからDebian Busterにアップグレードしたため、ファイルに割り当てたにもかかわらずclamsmtpd
常にそのユーザーとして実行されます。ファイルの内容は次のとおりです。clamsmtp
clamav
/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/clamsmtpd
clamsmtp
ベストアンサー1
この質問を投稿した後、/etc/systemd/system/multi-user.target.wants/clamsmtp.service
clamsmtpサービスを開始するためのパラメータを含む次のファイルが見つかりました。
[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として開始されていないため、指定されたユーザーに切り替えることはできません。