본문 바로가기

TroubleShooting/Etc

sendmail 이 포워딩이 안될 경우

728x90
 특정 아이디 디렉토리에 .forward 파일을 설정하고, 분명히 user 외에 다른 write 권한을 삭제를 했는데도 메일 포워딩이 안되는 경우가 있었다.
 mail SEND_USER 로 메일을 보내면,  /var/log/maillog 에서 다음과 같이 "Permission denied" 가 나온다. /home/SEND_USER/.forward 파일은 정상적인 권한을 가지고 있다. 더군다나, sendmail 는 root 의 setuid 를 가지기 때문에 에러 메시지 자체가 이해가 되지 않았다. 또, 다른 아이디로 테스트했을때는 포워딩이 잘 되더라. (-> 이 부분은 따로 원인을 찾아봐야 할거 같다.)

# ls -la /home/SEND_USER/.forward
-rwxr-xr-x. 1 SEND_USER USER_GROUP 23 2010-06-15 11:02 /home/SEND_USER/.forward

.....
Jun 15 13:07:04 SEND_HOST sendmail[6755]: o5F474df006754: forward /home/SEND_USER/.forward.SEND_HOST: Permission denied
Jun 15 13:07:04 SEND_HOST sendmail[6755]: o5F474df006754: forward /home/SEND_USER/.forward: Permission denied
Jun 15 13:07:04 SEND_HOST sendmail[6755]: o5F474df006754: to=<RECV_USER@RECV_HOST.co.kr>, ctladdr=<root@SEND_HOST.co.kr> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30706, dsn=2.0.0, stat=Sent
...

 결국 구글링을 통해서 찾아낸 방법은 selinux 를 꺼는것이었다. 리눅스 설치할때, selinux 설정된 것을 모르고 sendmail 오류를 찾다보니 시간만 보낸듯하다.
-> 해결방법 
setenforce 0

 참고로 다른 참고할만한 사이트를 정리해본다.