anonymous@RULINUX.NET~# Last login: 2024-12-25 10:28:06
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

SELinux: как настроить полиси для maildir под dovecot и postfix?

Гуглю сейчас, страниц по сабжевым ключевым словам много, а толку пока мало.. Может у кого готовый рецепт есть?

Короче есть совершенно отдельный от всего каталог vmail с которым должны работать dovecot и postfix. Сейчас у него права такие:

bash

# ls -ldZ ./vmail
drwxr-xr-x. vmail vmail system_u:object_r:default_t:s0   ./vmail
 

И довекот не может туда при включенном селинупсе (при выключенном - может)

Искоробочная директория от давекота, которую сделал yum (CentOS 7, 64 bit) при инсталляции:
bash

# ls -ldZ /var/lib/dovecot
drwxr-x---. dovecot dovecot system_u:object_r:dovecot_var_lib_t:s0 /var/lib/dovecot
 


Думаю выставить dovecot_var_lib_t на свою директорию, но не повредит ли постфиксу? Как вообще сделать права на ящики под связку dovecot и postfix ПРАВИЛЬНО?

anonymous(*) (2016-12-26 22:25:43)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

[Ответить на это сообщение]
avatar
Скрыть

Re:SELinux: как настроить полиси для maildir под dovecot и postfix?

именно как ПРАВИЛЬНО под SeLinux не скажу. классический путь:
1) создаём отдельную группу под определённую задачу;
2) всех "участников" включаем в эту группу;
3) рулим доступом на уровне "групп".. по сути owner и other идут няхуй. т.е. доступ вида 070/060 на каталог/файл;
4) !! PROFIT !!

с SeLinux стоит смотреть политики. эт гемор и нудятина, особенно учитывая "вложенное" наследование и т.п.. как вариант - lsattr/attr/getfattr/setfattr/и_т.п., getfac/setfacl.. ну, ты понел, да? ессно фс-ка должна поддерживать с ядром все эти надстройки, т.е. на reiserfs ты далеко с этим не уедешь :)

как-то так :)

anonymous(*)(2016-12-28 18:30:47)
Отредактировано anonymous по причине \br
w3m/0.5.3+git20161120
avatar
Скрыть

Re:SELinux: как настроить полиси для maildir под dovecot и postfix?

Вобщем, подключил Postfix - как оказалось, он сам не лезет в dovecot'овские мейлбоксы, а действет через довекотовский транспорт локальной доставки. Теперь этот LDA обламвается на попытке зайти в каталог почтового ящика, блин.

anonymous(*)(2016-12-30 00:21:28)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0
avatar
Скрыть

Re:SELinux: как настроить полиси для maildir под dovecot и postfix?

Вобщем, решилось всё просто установкой другого контекста на каталог с почтовыми ящиками:

bash
# chcon -R -t mail_home_rw_t /path/vmail

anonymous(*)(2016-12-30 04:23:29)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0
avatar
Скрыть

Re:SELinux: как настроить полиси для maildir под dovecot и postfix?

ДрямсЪ!

эт ты ради лулзов/самообразования или кто-то задачу поставил? к чему веду.. качни SLES, там AppArmor по умолчанию все "стандарты" профилями перекрывает. т.е. в принципе получаешь то же самое за меньший гемор :)

anonymous(*)(2016-12-30 15:17:36)

Here's the Word from W3M: "Fuck You, Dear Linux DE Users!"
avatar
Скрыть

Re:SELinux: как настроить полиси для maildir под dovecot и postfix?

У редхата всё нормально из коробки тоже работает.. Я просто хочу все свои данные сложить в отдельном нестандартном каталоге.

Нашел свою ошибку - неправильно задаю контекст, надо с маской, чтобы покрывала текущие и будущие ящики.
И делать это надо не через chcon, который не пополняет таблицы контекстов SELInux, а использовать semanage fcontext - иначе при любом релейблинге контексты будут утрачены:

text

# pwd
/etc/selinux/targeted/contexts/files

# grep mail_home_rw_t *   ## наверное, правильнее `semanage fcontext --list | grep mail_home_rw_t`
file_contexts:/root/Maildir(/.*)?       system_u:object_r:mail_home_rw_t:s0
file_contexts:/root/\.esmtp_queue(/.*)? system_u:object_r:mail_home_rw_t:s0
file_contexts.homedirs:/home/[^/]+/.maildir(/.*)?       unconfined_u:object_r:mail_home_rw_t:s0
file_contexts.homedirs:/home/[^/]+/Maildir(/.*)?        unconfined_u:object_r:mail_home_rw_t:s0
file_contexts.homedirs:/home/[^/]+/\.esmtp_queue(/.*)?  unconfined_u:object_r:mail_home_rw_t:s0
### это то, что у меня сейчас:
file_contexts.local:/путь/vmail    system_u:object_r:mail_home_rw_t:s0
file_contexts.local:/path/vmail/domainname/mailbox     system_u:object_r:mail_home_rw_t:s0
 


Вобщем, пока решение такое:

bash

semanage fcontext --delete /path/vmail/domainname/mailbox   ## удалить случайное лишнее вхождение найденное выше
semanage fcontext --delete /path/vmail                      ## и это тоже
semanage fcontext -a -t mail_home_rw_t "/path/vmail(/.*)?"  ## ... а самим ящикам и всему, что ниже - другой
restorecon -R /path/vmail                                   ## проверим результат
 
Если в будущем придётся контексты уточнять, то напишу тут на всякий случай.

P.S.
Удалил "semanage fcontext -a -t dovecot_var_lib_t /path/vmail" - если vmail имеет контекст dovecot_var_lib_t, то почта всё равно не ходит.

anonymous(*)(2016-12-30 19:43:42)
Отредактировано anonymous по причине "не указана"
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!