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

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

Postfix가 설치된 CentOS 5.5가 있습니다. 나는 사용하고 싶다현지의배송대행지는 기본 설정인데 메일을 저장하고 싶어요메일 디렉토리 디렉토리스타일 사서함.

사서함을 저장소로 설정하는 경우(기본값):

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. 그리고 subdir에는 "other"에 대한 실행 권한이 없습니다.

chmod 755 /home/subdir

나를 위해이 문제를 해결했습니다. 사용자 디렉터리에는 여전히 "700" 권한이 있습니다.

거부된 권한이 사용자 디렉터리가 아니라 그 위 디렉터리에 있기 때문에 오류 메시지는 잘못된 것입니다.

답변4

귀하의 권한:

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

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

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

관련 정보