
나는 팔로우했다이 튜토리얼내 linode 인스턴스를 Debian 8에서 Stable로 업그레이드합니다. 업그레이드 후에 sendmail에 몇 가지 오류/문제가 발생했습니다.
$ which sendmail
아무것도 반환하지 않습니다. 나하다센드메일이 설치되어 있습니다. 에 있어요/usr/sbin/sendmail
.Sendmail의 권한은 다음과 같습니다.
$ ls -la /usr/sbin/sendmail lrwxrwxrwx 1 root root 26 Jul 17 12:41 /usr/sbin/sendmail -> /etc/alternatives/sendmail
링크(
/etc/alternatives/sendmail
)가 빨간색으로 강조 표시됩니다.테스트 이메일을 보내려고 하면 다음 오류가 발생합니다.
sudo echo "Subject: sendmail test" | /usr/sbin/sendmail -v [email protected]
can not write to queue directory /var/spool/mqueue-client/ (RunAsGid=115, required=0): Permission denied
저것디렉토리의 권한은 다음과 같습니다:
$ ls -la /var/spool/mqueue-client drwxrwxr-x 2 root root 4096 Sep 15 2018 mqueue-client
따라서 분명히 일종의 권한/소유권 문제가 있지만 항목 1과 2에 대해 다른 문제가 발생하고 있다고 생각합니다. 시스템의 OSSEC 및 Fail2ban으로부터 이메일을 받을 수 있어야 하므로 실제로 갈 수는 없습니다. 작동하는 이메일 클라이언트/서버 없이. 이러한 문제를 해결하는 방법을 잘 모르겠습니다.
내 sendmail은 단순히 으로 설치되었으므로 $ sudo apt-get install sendmail sendmail-bin
데비안 저장소에서 직접 가져왔습니다. 이것이 바로 이러한 문제로 인해 약간 당황한 이유입니다... 필요한 구성이 무엇이든 설치 프로세스에서 처리될 것이라고 가정했습니다.
편집 : 출력ls -l /etc/alternatives/sendmail*
lrwxrwxrwx 1 root root 24 Jul 17 12:41 /etc/alternatives/sendmail -> /usr/lib/sm.bin/sendmail
lrwxrwxrwx 1 root root 42 Jul 17 12:41 /etc/alternatives/sendmail.8.gz -> /usr/share/man/man8/sendmail.sendmail.8.gz
lrwxrwxrwx 1 root root 24 Jul 17 12:41 /etc/alternatives/sendmail-msp -> /usr/lib/sm.bin/sendmail
lrwxrwxrwx 1 root root 42 Jul 17 12:41 /etc/alternatives/sendmail-msp.8.gz -> /usr/share/man/man8/sendmail.sendmail.8.gz
lrwxrwxrwx 1 root root 24 Jul 17 12:41 /etc/alternatives/sendmail-mta -> /usr/lib/sm.bin/sendmail
lrwxrwxrwx 1 root root 42 Jul 17 12:41 /etc/alternatives/sendmail-mta.8.gz -> /usr/share/man/man8/sendmail.sendmail.8.gz
각 쌍은 서로 다른 색상으로 끝납니다. 예를 들어 /usr/lib/sm.bin/sendmail
황색으로 강조 표시되고 /usr/share/man/man8/sendmail.sendmail.8.gz
빨간색으로 강조 표시됩니다. 각 쌍마다 동일한 색상(호박색과 빨간색)입니다.
EDIT2: 출력 (echo subject: test; echo ; echo test) | /usr/sbin/sendmail -d44.4 -i -v username
(실제 사용자 이름을 사용했지만 보안을 위해 결과 출력을 조정했습니다):
$ (echo subject: test; echo ; echo test) | /usr/sbin/sendmail -d44.4 -i -v username
safefile(/etc/mail/submit.cf, uid=1000, gid=0, flags=6000, mode=400):
safedirpath(/etc/mail, uid=1000, gid=0, flags=6000, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 4] OK
safefile(/etc/mail/relay-domains, uid=1000, gid=0, flags=6580, mode=400):
safedirpath(/etc/mail, uid=1000, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
No such file or directory
safefile(/etc/mail/service.switch, uid=1000, gid=115, flags=6480, mode=400):
safedirpath(/etc/mail, uid=1000, gid=115, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 4] OK
safefile(/etc/mail/service.switch, uid=1000, gid=115, flags=6480, mode=400):
safedirpath(/etc/mail, uid=1000, gid=115, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 4] OK
safefile( , uid=1000, gid=115, flags=40, mode=660):
safedirpath(., uid=1000, gid=115, flags=40, level=0, offset=0):
[dir .] OK
No such file or directory
[final dir . uid 111 mode 42770] Success
safedirpath(/var/spool/mqueue-client, uid=1000, gid=115, flags=0, level=0, offset=0):
[dir /var/spool/mqueue-client] OK
safefile(./dfx6MIGnM5005502, uid=1000, gid=115, flags=2040, mode=600):
safedirpath(., uid=1000, gid=115, flags=2040, level=0, offset=0):
[dir .] OK
No such file or directory
[final dir . uid 111 mode 42770] Success
username... Connecting to [127.0.0.1] via relay...
220 major-productions.com ESMTP Sendmail 8.15.2/8.15.2/Debian-12; Mon, 22 Jul 2019 14:16:49 -0400; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO major-productions.com
250-major-productions.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<[email protected]> SIZE=20 [email protected]
250 2.1.0 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 <[email protected]>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
421 4.3.0 collect: Cannot write ./dfx6MIGnHm005503 (bfcommit, uid=0, gid=115): No such file or directory
>>> QUIT
username... Deferred: 421 4.3.0 collect: Cannot write ./dfx6MIGnHm005503 (bfcommit, uid=0, gid=115): No such file or directory
safefile(/var/lib/sendmail/sm-client.st, uid=1000, gid=115, flags=2282, mode=600):
safedirpath(/var/lib/sendmail, uid=1000, gid=115, flags=2282, level=0, offset=0):
[dir /var/lib/sendmail] OK
No such file or directory
safefile(/var/lib/sendmail/sm-client.st, uid=1000, gid=115, flags=2282, mode=600):
safedirpath(/var/lib/sendmail, uid=1000, gid=115, flags=2282, level=0, offset=0):
[dir /var/lib/sendmail] OK
No such file or directory
Closing connection to [127.0.0.1]
(echo subject: test; echo ; echo test) | /usr/sbin/sendmail -Am -d44.4 -i -v username
편집 3: 루트로 로그인한 동안 의 출력 (이전과 같이 사용자 이름이 난독화됨):
# (echo subject: test; echo ; echo test) | /usr/sbin/sendmail -Am -d44.4 -i -v username
safefile(/etc/mail/sendmail.cf, uid=0, gid=0, flags=6000, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6000, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 400] OK
safefile(/etc/mail/local-host-names, uid=0, gid=0, flags=6580, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 400] OK
safefile(/etc/mail/relay-domains, uid=0, gid=0, flags=6580, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
No such file or directory
safefile(/etc/mail/service.switch, uid=0, gid=0, flags=6480, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 400] OK
safefile(/etc/mail/service.switch, uid=0, gid=0, flags=6480, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 400] OK
safedirpath(/var/spool/mqueue, uid=0, gid=0, flags=4, level=0, offset=0):
[dir /var/spool/mqueue] OK
safefile(/etc/mail/service.switch, uid=0, gid=0, flags=6480, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=6580, level=0, offset=0):
[dir /etc/mail] OK
[uid 0, nlink 1, stat 100644, mode 400] OK
safefile(/etc/mail/aliases.db, uid=0, gid=0, flags=584, mode=400):
safedirpath(/etc/mail, uid=0, gid=0, flags=584, level=0, offset=0):
[dir /etc/mail] OK
[uid 110, nlink 1, stat 100640, mode 400] OK
safedirpath(/home/username, uid=1000, gid=1000, flags=1985, level=0, offset=0):
[dir /home/username] OK
safefile(/home/username/.forward.major-productions, uid=1000, gid=1000, flags=1895, mode=400):
No such file or directory
safedirpath(/home/username, uid=1000, gid=1000, flags=1985, level=0, offset=0):
[dir /home/username] OK
safefile(/home/username/.forward, uid=1000, gid=1000, flags=1895, mode=400):
No such file or directory
safefile(./dfx6MKLN6r006080, uid=0, gid=0, flags=2040, mode=600):
safedirpath(., uid=0, gid=0, flags=2040, level=0, offset=0):
[dir .] OK
No such file or directory
[final dir . uid 0 mode 40700] Success
username... Connecting to local...
safefile(/usr/sbin/sensible-mda, uid=0, gid=0, flags=41904, mode=0):
safedirpath(/usr/sbin, uid=0, gid=0, flags=41904, level=0, offset=0):
[dir /usr/sbin] OK
[uid 0, nlink 1, stat 104755, mode 0] OK
username... Sent
safefile(/var/lib/sendmail/sendmail.st, uid=0, gid=0, flags=2282, mode=600):
safedirpath(/var/lib/sendmail, uid=0, gid=0, flags=2282, level=0, offset=0):
[dir /var/lib/sendmail] OK
No such file or directory
safefile(/var/lib/sendmail/sendmail.st, uid=0, gid=0, flags=2282, mode=600):
safedirpath(/var/lib/sendmail, uid=0, gid=0, flags=2282, level=0, offset=0):
[dir /var/lib/sendmail] OK
No such file or directory
답변1
$ which sendmail
아무것도 반환하지 않습니다.
sendmail
아니다권한이 없는 사용자에게 설치 PATH
=> 예상/정상 결과를 관찰합니다. 전체/절대 경로를 사용하는 것과 sendmail
같은 다른 프로그램에 의해 실행될 것으로 예상됩니다 .mail
- 대기열 디렉터리 /var/spool/mqueue-client/에 쓸 수 없습니다(RunAsGid=115, 필수=0): 권한이 거부되었습니다.
/var/spool/mqueue-client
권한 및 소유권 수정
chown smmsp:smmsp /var/spool/mqueue-client`
chmod 02770 /var/spool/mqueue-client`
최신 Sendmail은 다음과 같이 설치할 필요가 없습니다.SET ROOT ID
ls -l --dereference /usr/sbin/sendmail
질문의 댓글에서 결과를 확인하세요 .
-r-sr-sr-t 1 root smmsp 860672 Sep 15 2018 /usr/sbin/sendmail
Debian의 최종 대상 /usr/sbin/sendmail
및 링크에 대한 권한을 변경합니다:/etc/alternatives
chmod u-s /usr/lib/sm.bin/sendmail
답변2
이것을 실행하면 작동합니까?
echo "Subject: sendmail test" | sudo sendmail /usr/sbin/sendmail -v [email protected]
차이점은 echo를 루트로 실행하지만 sendmail은 실행하지 않는다는 것입니다.
따라서 메시지: "(RunAsGid=115, 필수=0): 권한이 거부되었습니다."
"115"는 사용자의 그룹 ID이며 "0"(루트)을 예상합니다.