Как создать каталог Maildir с достаточными разрешениями для Postfix?

У меня есть CentOS 5.5 с установленным Postfix. Я хочу использовать локальный агент доставки с настройками по умолчанию, но я хочу, чтобы он хранил почту с почтовыми ящиками стиля каталога 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=<pedro@dx2200.it.eclocal>, 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 ?

  • selinux на squashfs с overlayfs
  • SELinux и Trusted OS - может ли SELinux быть ограничен корневым уровнем аппаратного уровня?
  • Как я могу анализировать сообщение SELinux SYSCALL?
  • Пользовательские задания cron больше не выполняются (возможно, SELinux)
  • Сетевая безопасность на уровне системы (классификация пакетов и т. Д.) - SELinux и Libnftnl
  • Как ограничить доступ ecryptfs к группе процессов
  • Как использовать chcon без selinux?
  • Как отключить SELinux без перезагрузки?
  • 5 Solutions collect form web for “Как создать каталог Maildir с достаточными разрешениями для Postfix?”

    Изменить: ответ полностью переписан согласно комментариям

    Этот вопрос может быть связан с SELinux. Вы можете запустить, например, sestatus чтобы проверить, включено ли оно или отключено.

    Для доставки maildir postfix изменяется на соответствующего пользователя, поэтому целевой каталог должен быть доступен для записи пользователем. Кажется, это уже так. По соображениям конфиденциальности я предлагаю chmod -R o-rwx /var/spool/mail/*

    Просто для полноты: если используются файлы mbox, каталог спула должен быть доступен для записи mail группой, которую вы получаете с помощью chmod -R g+rwX /var/spool/mail .

    У меня была такая же ошибка с пользовательскими каталогами под subdir, у которых были неправильные разрешения. Например, домашний каталог для пользователя «user1» был /home/subdir/user1 . И у subdir не было прав на выполнение для «других».

     chmod 755 /home/subdir 

    исправил проблему для меня. Пользовательские каталоги все еще имеют разрешения «700».

    Сообщение об ошибке вводит в заблуждение, поскольку отклонение разрешено не в каталоге пользователя, а в каталоге над ним.

    У меня была такая же проблема на CentOS 7. После нескольких часов попытки понять это. Я выключил SELinux, и это сработало. Таким образом, проблема, безусловно, SELinux.

    Чтобы узнать, является ли его тип принудительного применения: getenforce

    Чтобы полностью отключить его, просто введите: setenforce 0

    ваши разрешения:

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

    только педро (вы) можете писать, почта (сервер) может читать только.

    1. изменить пользователя на почту,
    2. chmod 700
    3. попробуй еще раз

    Я просто отслеживал одну и ту же проблему до того, как postfix не смог справиться с расширенными ACL в каталоге / home.

    Там была запись ACL, которая явно позволяет пользователю перечислить и пересечь ее, если она находится в определенной группе. Но мне пришлось добавить o = x в список, чтобы позволить posix go.

    Linux и Unix - лучшая ОС в мире.