내 서버를 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
이제 user 로 실행 중입니다 clamav
.
User
또한 에 지정된 매개변수가 고려되지 않은 이유도 발견했습니다 . /etc/clamsmtpd.conf
내부에clamsmtpd.conf 매뉴얼 페이지, 매개변수에 대해 다음과 같이 설명합니다 User
.
사용자: 실제 사용자입니다. 이 옵션을 지정하면 clamsmtpd(8)를 루트로 시작해야 합니다. 그런 다음 루트 권한을 포기하고 지정된 사용자로 실행됩니다. 사용자는 이름이거나 숫자로 된 사용자 ID일 수 있습니다.
서비스가 루트로 시작되지 않았기 때문에 지정된 사용자로 전환할 수 없습니다.