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이제 user 로 실행 중입니다 clamav.

User또한 에 지정된 매개변수가 고려되지 않은 이유도 발견했습니다 . /etc/clamsmtpd.conf내부에clamsmtpd.conf 매뉴얼 페이지, 매개변수에 대해 다음과 같이 설명합니다 User.

사용자: 실제 사용자입니다. 이 옵션을 지정하면 clamsmtpd(8)를 루트로 시작해야 합니다. 그런 다음 루트 권한을 포기하고 지정된 사용자로 실행됩니다. 사용자는 이름이거나 숫자로 된 사용자 ID일 수 있습니다.

서비스가 루트로 시작되지 않았기 때문에 지정된 사용자로 전환할 수 없습니다.

관련 정보