postgresql auth против активного каталога samba

Недавно я создал новый Samba4 Active Directory для обработки централизованной аутентификации для моей небольшой офисной сети. На этом сервере также есть экземпляр postgresql-9.5, и я пытаюсь его аутентифицировать против AD. Признавая разницу между аутентификацией (это то, что мне нужно) и авторизацией (я считаю, что это полностью обрабатывается в postgresql после аутентификации пользователя), у меня возникают проблемы.

В настоящее время AD довольно ваниль, внимательно следя за этим способом . Я настроил некоторых пользователей, и, как представляется, работает основная проверка подлинности Kerberos (выполняется с помощью kinit myusername@SAMDOM.MYDOMAIN.TLD , проверяется с помощью klist ). Аналогично, работает smbclient //myhost.samdom.mydomain.tld/netlogon -U 'myusername' .

Локальный хост разрешает Samba AD, а DNS-пересылка идет вверх по потоку правильно. Эти работы:

 $ host -t SRV _ldap._tcp.samdom.mydomain.tld $ host -t SRV _kerberos._udp.samdom.mydomain.tld $ host -t A myhost.samdom.mydomain.tld 

BTW: сервер ubuntu-16.04, postgresql-9.5, samba-4.3.9

Вопрос:

Что мне не хватает в конфигурации samba и / или postgres, чтобы включить аутентификацию против AD?

Настройка базы данных

Базовая связь с postgresql кажется хорошей: она прослушивает соответствующие интерфейсы (все на данный момент), пользователь postgres может получить доступ к вещам локально без проблем. Я создал простую базу данных, выводящую из \list :

  Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+------------+----------+-------------+-------------+----------------------- pgtest2 | myusername | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 

с указанными пользователями (по этому запросу ):

  User name | User ID | Attributes ------------+---------+------------------- myusername | 16384 | create database postgres | 10 | superuser, create+ | | database 

Ошибка при завершении

Однако, когда я запускаю консоль:

 $ psql -h myhost.samdom.mydomain.tld -U myusername@SAMDOM.MYDOMAIN.TLD -d pgtest2 psql: GSSAPI continuation error: Unspecified GSS failure. Minor code may provide more information GSSAPI continuation error: No Kerberos credentials available 

Из /var/log/postgresql/postgresql-9.5-main.log :

 myusername@SAMDOM.MYDOMAIN.TLD@pgtest2 LOG: could not receive data from client: Connection reset by peer myusername@SAMDOM.MYDOMAIN.TLD@pgtest2 FATAL: GSSAPI authentication failed for user "myusername@SAMDOM.MYDOMAIN.TLD" myusername@SAMDOM.MYDOMAIN.TLD@pgtest2 DETAIL: Connection matched pg_hba.conf line 92: "host all all 0.0.0.0/0 gss krb_realm=SAMDOM.MYDOMAIN.TLD include_realm=1 map=krb" 

Файлы конфигурации

Конфигурационный файл (части), который, по моему мнению, является подходящим и необходимым:

  • /etc/postgresql/9.5/main/pg_hba.conf :

     local all postgres peer local all all peer host all all 0.0.0.0/0 gss krb_realm=SAMDOM.MYDOMAIN.TLD include_realm=1 map=krb host all all 127.0.0.1/32 md5 host all all ::1/128 md5 
  • /etc/postgresql/9.5/main/postgres.conf :

     krb_server_keyfile = '/var/lib/postgresql/9.5/main/postgres.keytab' 

    (Keytab был сгенерирован с помощью: samba-tool domain exportkeytab postgres.keytab -U postgres/myhost.samdom.mydomain.tld@SAMDOM.MYDOMAIN.TLD , является режимом 400 и принадлежит postgres:postgres .)

  • /etc/samba/smb.conf :

     # Global parameters [global] workgroup = SAMDOM realm = SAMDOM.MYDOMAIN.TLD netbios name = MYHOST interfaces = lo eno1 bind interfaces only = Yes server role = active directory domain controller dns forwarder = 11.22.33.254 idmap_ldb:use rfc2307 = yes tls enabled = yes tls keyfile = tls/key.pem tls certfile = tls/cert.pem tls cafile = tls/ca.pem [netlogon] path = /var/lib/samba/sysvol/samdom.mydomain.tld/scripts read only = No [sysvol] path = /var/lib/samba/sysvol read only = No 

Interesting Posts

Как разобрать опцию fbmpeg -b:

Извлечь два значения из вывода команды

Таблицы с разделителями пробелов в CSV со стандартными инструментами обработки текста

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

Как установить Linux Mint на 24-Гбайт SSD вместе с жестким диском 1 ТБ

kali linux – WiFi подключен, но не может просматривать сеть

Как настроить apcupsd для выхода из ИБП после завершения работы сервера?

Lintian сообщает не-dev-pkg-with-shlib-symlink, тогда как dh_auto_install делает эту ссылку

Плагин, чтобы увидеть, что я делаю в Vim

case + как реализовать равный или меньше или больше в случае синтаксиса

ls дает мне разные заказы сортировки во время работы cron

Проблемы с отображением пользователей NFSv4

Команда использования памяти с синтаксисом, аналогичная команде времени

Как увеличить объем корня

netutils_t не может открыть файлы initrc_tmp_t

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