Последние сообщения

Страницы: [1] 2 3 ... 10
1
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 31 Январь 2019, 05:11:23 »
Беда заключалась в том что "memberof" регистрозависимый и называться он должен "memberOf", буква "О" обязательно большая. Далее вопрос по скрипту dovecot в переменную $user отдает вместе с доменом, как отрезать "@domain.ru"? с перлом как я уже говорил у меня беда полная. Плюс ко всему ldapsearch в debian 9.6 по умолчанию не идет, но находится скрипт для запуска /usr/share/bash-completions/, что меня новичка смутило сначала, что он молча то, доставил пакет ldap-utils и все встало на свои места.

Ну и с вырезанимаем не режет, почему-то, mycompany.ru заменил на свое, да и OU значительно больше, чем Users
perl -00 -wpe 'chomp; s/memberOf: cn=([^,]+),cn=users,dc=mycompany,dc=ru(\n?)/$1 . ($2 ? "," : "")/gie'`Что выдает скрипт на данный момент отправил в личное сообщение.
2
Общий раздел / Re: Postfix + ldap
« Последний ответ от egor 23 Январь 2019, 06:47:38 »
Да, более десяти групп
И ldapsearch типа:
ldapsearch -o ldif-wrap=no -xLLL -H ldap://ads.mycompany.ru -D someUser@mycompany.ru -w somePass -b cn=users,dc=mycompany,dc=ru samaccountname=testuser memberof
ничего не возвращает?
3
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 23 Январь 2019, 03:57:35 »
Да, более десяти групп
4
Общий раздел / Re: Postfix + ldap
« Последний ответ от egor 22 Январь 2019, 12:16:06 »
C перлом вообще никак, заменил на свои параметры, в логах: imap-postlogin: Error: grep: (standard input): Resource temporarily unavailable, если просто запустить ldapsearch до него у меня в скрипте полностью путь прописан, ибо так говорит, что не такого, меняю $user на имя например testuser на выходе ничего нет.

testuser входит в какие-нибудь группы?
5
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 22 Январь 2019, 12:05:46 »
C перлом вообще никак, заменил на свои параметры, в логах: imap-postlogin: Error: grep: (standard input): Resource temporarily unavailable, если просто запустить ldapsearch до него у меня в скрипте полностью путь прописан, ибо так говорит, что не такого, меняю $user на имя например testuser на выходе ничего нет.
6
Общий раздел / Re: Postfix + ldap
« Последний ответ от egor 22 Январь 2019, 05:04:28 »
Здравствуйте! Как написано здесь:
Цитировать
Поддержка групп в ACL работает путём возврата из userdb экстра-поля acl_groups, содержащего разделённый запятыми список всег групп, которым принадлежит пользователь. UNIX-группы пользователя не влияют на ACL (вы можете "задействовать" их путём использования специального post-login скрипта).

Взяв за основу пример скрипта отсюда, я сделал post-login скрипт, который обращается в AD, берёт названия групп из значения атрибута memberOf учётки пользователя и выдаёт их через запятую:
#!/bin/bash

ACL_GROUPS=`ldapsearch -o ldif-wrap=no -xLLL -H ldap://ads.mycompany.ru -D someUser@mycompany.ru -w somePass -b cn=users,dc=mycompany,dc=ru samaccountname=$USER memberof | \
    grep memberOf | \
    perl -MMIME::Base64 -wpe 's/^([^:]+):: (.+)$/"$1: " . decode_base64($2)/e' | \
    perl -00 -wpe 'chomp; s/memberOf: cn=([^,]+),cn=users,dc=mycompany,dc=ru(\n?)/$1 . ($2 ? "," : "")/gie'`

#echo $ACL_GROUPS
#exit 0

export ACL_GROUPS
export USERDB_KEYS="$USERDB_KEYS acl_groups"
exec "$@"

Первый вызов perl декодирует Base64 там, где в названии группы используются русские буквы. Второй вызов perl отрезает собственно названия групп и "склеивает" их через запятую. Не знаю как там будут обстоять дела с пробелами (если они есть в названиях групп), их, наверное, надо как-то экранировать или брать в кавычки, но мне проверять негде, если что, подправите преобразование во втором perl-вызове самостоятельно.

Надеюсь, поможет.

Егор
7
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 21 Январь 2019, 08:17:09 »
Раскладка по namespaces действительно отлично исполняется с помощью sieve скриптов, для этого надо установить пакет dovecot-sieve; Создать ящик куда будет приходить почка и альясы на него для всех желаемых namespaces потом пишется скрипт:
require ["fileinto", "envelope"];
if address :is "to" "внешний e-mail адрес куда сторонние пользователи отправляют письма, проще говоря общий ящик"
 {
  fileinto "Имя общей папки куда положить письмо";
 }
Количество таких условий в этом файле не ограничено.

Так как к этим общим папкам имеют все доступ и кто угодно может удалить письма, возникла необходимость в плагине acl, его подключил и надо теперь создать файлы dovecot-acl, где прописан доступ, которые имеют вид:
<identifier> <ACLs> [:<named ACLs>] , где <identifier> может быть одним из:
    group-override=group name
    user=user name
    owner
    group=group name
    authenticated
    anyone (или anonymous, который является алиасом для anyone)
Вот группу бы очень хотелось бы взять из microsoft AD, где мы уже проверяем авторизацию пользователей. На сколько я понял документацию ответом запроса должно быть acl_groups = список групп через запятую.
Глупый возможно вопрос, но как это воплотить?
dovecot-ldap.conf.ext для авторизации и проверки наличия пользователей использует:
ass_attrs = sAMAccountName=user
pass_filter = (&(objectClass=Person)(sAMAccountName=%n)(!(userAccountControl=66050)))
Что нужно добавить чтоб получить список групп в которых числится этот пользователь?
8
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 28 Декабрь 2018, 12:24:42 »
у меня debian 9.6

Мне это нужно для общих папок, чтоб не создавать пользователя в AD. Например, у меня общая папка info, для внешних пользователей она выглядит как info@mydomain.ru, для postfix чтоб он принял я прописал его как пользователя в mysql и кучу альянсов на него для остальных глобальных общих папок. Postfix отдает его Dovecot, а тот не знает такого пользователя и письмо пошло в bounce, и ответ что нет такого пользователя. Хочу его туда куда и postfix отправить, чтоб если что-то менять то в одном месте, а там еще и mailman планируется он тоже в mysql живет.

Попробовал обновить dovecot до самой последней версии стабильной, ругается на другую библиотеку уже но суть та же; плюс еще заметил когда dovecot перезапускаю, ругань на библиотеки sasl, который нигде не использовался, может ошибка с этим связано, но так же не нашел откуда ноги растут.
дек 28 16:11:27 srvmail auth[19067]: unable to dlopen /usr/lib/x86_64-linux-gnu/sasl2/libdigestmd5.so: libcrypto.so.1.1: failed to map segment from shared object
дек 28 16:11:27 srvmail auth[19067]: unable to dlopen /usr/lib/x86_64-linux-gnu/sasl2/libntlm.so: libcrypto.so.1.1: failed to map segment from shared object
дек 28 16:11:27 srvmail auth[19067]: unable to dlopen /usr/lib/x86_64-linux-gnu/sasl2/libsasldb.so: /usr/lib/x86_64-linux-gnu/sasl2/libsasldb.so: failed to map segment from shared object
Опять же таки сколько не смотрел по ошибкам, у всех всегда есть расшифровка: нет прав доступа, нет самого файла, не хватает памяти и т.д. а тут failed и без расшифровки...
9
Общий раздел / Re: Postfix + ldap
« Последний ответ от egor 28 Декабрь 2018, 12:06:44 »
Здравствуйте!
У меня на Ubuntu 18.04 после установки dovecot-mysql (dovecot-ldap уже был установлен и настроен) dovecot запустился без ошибок, правда, аутентификацию в mysql я не настраивал.

А зачем вообще это нужно, раз у Вас пользователи в AD?

Егор
10
Общий раздел / Re: Postfix + ldap
« Последний ответ от icom 28 Декабрь 2018, 09:59:23 »
при попытке включить авторизацию для dovecot по ldap и mysql одновременно возникла проблема.
Как только просто устанавливаю модуль dovecot-mysql, при перезапуске сервиса ругается что не может загрузить библиотеку ldap:
Общий лог кота:
Dec 28 13:56:58 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Dec 28 13:57:01 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Dec 28 13:57:01 auth: Debug: Module loaded: /usr/lib/dovecot/modules/auth/libdriver_mysql.so

Error.log
Dec 28 13:57:01 auth: Fatal: Couldn't load required plugin /usr/lib/dovecot/modules/auth/libauthdb_ldap.so: dlopen() failed: libnettle.so.6: failed to map segment from shared object
Dec 28 13:57:01 master: Error: service(auth): command startup failed, throttling for 2 secs

При это с postfix никаких проблем не возникло, смотрит ldap и mysql. Что может быть, у меня идеи быстро кончились?
Страницы: [1] 2 3 ... 10