Postfix에 대한 충분한 권한을 가진 Maildir 디렉토리를 만드는 방법은 무엇입니까?

Postfix에 대한 충분한 권한을 가진 Maildir 디렉토리를 만드는 방법은 무엇입니까?

Postfix가 설치된 CentOS 5.5가 있습니다. 나는 사용하고 싶다현지의배달원은 기본 설정으로 되어 있지만 메일을 저장하고 싶습니다.Maildir 디렉토리스타일의 사서함.

사서함을 다음 위치에 저장하도록 설정하면(기본값으로):

mail_spool_directory = /var/spool/mail/

그리고 수동으로 maildir을 생성하면 다음과 같습니다:

[root@dx2200 /]# ls -lah /var/spool/mail/
total 32K
drwxrwxr-x  4 root  mail 4.0K Mar 15 15:01 .
drwxr-xr-x 13 root  root 4.0K Mar 15 14:33 ..
drwxr-xr-x  5 root  root 4.0K Mar 15 14:52 marshra
drwxr-sr-x  5 pedro mail 4.0K Mar 15 15:01 pedro
[root@dx2200 /]# 
[root@dx2200 /]# ls -lah /var/spool/mail/pedro/
total 40K
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 .
drwxrwxr-x 4 root  mail 4.0K Mar 15 15:01 ..
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 cur
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 new
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:03 tmp
[root@dx2200 /]#

그런 다음 로컬 사용자에게 메일을 보내려고 하는데 pedro메시지가 전달되지 않고 다음과 같이 /var/log/maillog말합니다.

Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: maildir access problem for UID/GID=1014/1014: error writing message: Permission denied
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: perhaps you need to create the maildirs in advance
Mar 15 15:11:00 dx2200 postfix/local[4266]: 8D5D11310056: to=<[email protected]>, orig_to=<pedro>, relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.3.0, status=bounced (maildir delivery failed: error writing message: Permission denied)

나는 비슷한 문제를 겪었습니다.가상배달원, 홈 디렉토리 virtual_mailbox_base로 변경하는 것이 도움이 되었습니다. 나도 같이 해야 하나?/var/spool/vmail/home/vmail현지의배달대행?그리고 만약 그렇다면- 왜 메일을 에 저장할 수 없나요 /var/spool?

답변1

편집 : 의견에 따라 완전히 다시 작성된 답변

이 문제는 SELinux와 관련이 있을 수 있습니다. 예를 들어 실행하여 sestatus활성화 또는 비활성화 여부를 확인할 수 있습니다 .

maildir 전달의 경우 postfix는 해당 사용자로 변경되므로 해당 사용자가 대상 디렉터리에 쓸 수 있어야 합니다. 이미 그런 일이 벌어지고 있는 것 같습니다. 개인정보 보호를 위해 제안합니다.chmod -R o-rwx /var/spool/mail/*

완전성을 위해 :mailmbox 파일을 사용하는 경우 스풀 디렉토리는 를 사용하여 얻은 그룹 에서 쓸 수 있어야 합니다 chmod -R g+rwX /var/spool/mail.

답변2

SELinux 정책을 명령줄로 쓸 수 있도록 허용

semanage permissive -a postfix_local_t 

답변3

잘못된 권한을 가진 하위 디렉터리 아래의 사용자 디렉터리에서도 동일한 오류가 발생했습니다. 예를 들어 "user1"의 홈 디렉토리는 입니다 /home/subdir/user1. 그리고 하위 디렉토리에는 "기타"에 대한 실행 권한이 없습니다.

chmod 755 /home/subdir

문제가 해결되었습니다. 사용자 디렉터리에는 여전히 "700" 권한이 있습니다.

거부된 권한이 사용자 디렉터리가 아니라 그 위 디렉터리에 있었기 때문에 오류 메시지는 오해의 소지가 있었습니다.

답변4

귀하의 권한:

drwxr-sr-x 2 pedro mail xxxx cur,new,tmp

페드로(당신)만이 쓸 수 있고, 메일(서버)은 읽기만 할 수 있습니다.

  1. 사용자를 메일로 변경하고,
  2. chmod 700
  3. 다시 시도하십시오

관련 정보