Как создать каталог 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 ?

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.

  • compgen и SELinux
  • Различное значение хэша большого файла rsynced на centos и ubuntu?
  • Как создать защиту паролей с несколькими уровнями для одного пользователя
  • Apache не может открыть файл, который является символической ссылкой
  • Просмотр и редактирование содержимого / sepolicy
  • Как настроить SELinux с помощью samba? Научный Linux?
  • SELinux: определение каталога отказавшего файла
  • Как ограничить доступ ecryptfs к группе процессов
  • Элементы SELinux, основанные на файлах
  • PHP на centos 6 не работает
  • Проблема с запуском «selinux sandbox» с java
  • Apache не запускается на Fedora 15
  • Interesting Posts

    Как передавать данные за пределами процесса для достижения зенита?

    Как разрешить эти предупреждения Alsa от /etc/asound.conf?

    zsh: сделать остановку ALT + BACKSPACE у не буквенно-цифровых символов

    Скрипт для Ping IP и создание журнала, показывающего дату / время любого сбоя, раз более 500 мс, а traceroute – отказ

    ModSecurity по умолчанию использует index.html в POST

    Попытка генерировать случайный проход для пользователей и сохранять их в файле

    Попросите aptitude распечатать полное имя пакета

    Изменить размер диска на Linux

    обнаружено более 8 выходов – как их решить?

    Geany: потерял некоторые темы после обновления

    Создание deb: Как поместить архивные файлы в отдельный пакет .deb?

    Firefox отбрасывает URL-адрес, когда время подключения к серверу или неудача

    Решение «mv: Список аргументов слишком длинный»?

    cp -attributes-only документирован, но не работает «сейчас»?

    Где Linux vncserver (Xvnc) получает список возможностей геометрии

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