NFSv4 + SSSD + Active Directory: разрешения «никто» при отключенном ldap_id_mapping

Я пытаюсь настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat , используя SSSD для доступа к Active Directory. Сервер NFS в этом случае представляет собой устройство NAS, которое обрабатывает сопоставление пользователей между разрешения при отключении ldap_id_mapping Я пытаюсь настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat, используя SSSD для доступа к Active Directory. Сервер NFS в этом случае - это устройство NAS, ...

Я пытаюсь настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat , используя SSSD для доступа к Active Directory. Сервер NFS в этом случае представляет собой устройство NAS, которое обрабатывает сопоставление пользователей между разрешения при отключении ldap_id_mapping Я пытаюсь настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat, используя SSSD для доступа к Active Directory. Сервер NFS в этом случае - это устройство NAS, ...

Я пытаюсь настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat , используя SSSD для доступа к Active Directory. Сервер NFS в этом случае представляет собой устройство NAS, которое обрабатывает сопоставление пользователей между m пытается настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat , используя SSSD для доступа к Active Directory. Сервер NFS в этом случае представляет собой устройство NAS, которое обрабатывает сопоставление пользователей между m пытается настроить NFSv4 с аутентификацией KRB5 в соответствии с текущими рекомендациями RedHat , используя SSSD для доступа к Active Directory. Сервер NFS в этом случае представляет собой устройство NAS, которое обрабатывает сопоставление пользователей междуучетные записи user @ domain и UID / GID, полученные из AD / LDS. Я отключил сопоставление идентификаторов в SSSD, так как NAS не имеет того же метода хеш + модуль, доступного для расчета «самодельных» идентификаторов.

В своем текущем состоянии NAS распознает права собственности пользователя и группы на права доступа к файлам и применяет их, как ожидалось. Однако вывод ls от клиента отображает никто никто в любых файлах / папках, принадлежащих пользователю домена.

[root@nfsclient ~]# ls -al /mnt/nfs4test/
total 0
drwxr-xr-x. 1 nobody nobody  0 Jul 17 10:46 .
drwxr-xr-x. 3 root   root   22 Jul 17 10:47 ..

При максимальной степени детализации журнала для idmapd и sssd, единственное событие I ' Я видел, что указывает на любую проблему: 17 июля, 11:48:23 nfsclient nfsidmap [10601]: nss_getpwnam: имя 'nfsadmin' не найдено в домене 'testdomain.local'

Я также подтвердил с помощью захвата пакетов, что ожидаемые строки имени пользователя / группы возвращаются для владельца и группы (не идентификаторов) в ответе поиска:

fattr4_owner: nfsadmin@testdomain.local
fattr4_owner_group: Domain Admins@testdomain.local

Среда состоит из DC 2012R2, клиента CentOS 7.3 и проприетарного устройства NAS (на базе CentOS), выступающего в качестве сервера. Помимо установки необходимых пакетов и конфигурации IP / NTP, это мои шаги по настройке на клиенте:

  • Добавить Domain = testdomain.local в /etc/idmapd.conf
  • Присоединиться к домену AD с соединение с областью testdomain.local -U nfsadmin
  • Разрешить доступ по SSH для всех пользователей домена (разрешить область)
  • Установить ldap_id_mapping = False в / etc / sssd / sssd. conf
  • Включите / запустите / перезапустите sssd.service rpcgssd rpcidmapd и nfs-secure
  • Смонтируйте экспорт с помощью sec = sys , чтобы передать владение пользователем домена
  • Перемонтировать с sec = krb5

Независимо от того, используется ли sec = sys или sec = krb5, root или учетная запись домена, вывод ls одинаков.

Единственные подходящие решения, которые я нашел в моем поиске, указали на необходимость создания локальных учетных записей для пользователей, но похоже, что это противоречит цели интеграции AD. Я ожидал, что можно будет создать нового пользователя AD, добавить его в соответствующие группы для разрешений на доступ, установить UID / GID, после чего этот пользователь должен иметь доступ к файлам при экспорте после того, как они подключились по SSH к клиентская машина.

Конфигурация клиента полностью извлекает данные из Active Directory (только сервер / NAS использует AD / LDS). UID / GID в активном каталоге были заполнены вручную через PowerShell (например, Get-ADUser "nfsadmin" | Set-AdUser -replace @ {uidNumber = 10001} - попытка сделать этот 2016 совместимым и избежать использования adminui / nis или на вкладке «Атрибуты UNIX», хотя я сейчас тестирую 2012 R2)

Как мне заставить NSS / nfsidmap правильно переводить имена пользователей / групп домена, возвращаемые сервером?

Я бы настоятельно предпочел что-нибудь это не требует ручного создания локальной учетной записи для каждого отдельного пользователя, поэтому масштабирование до тысяч пользователей не становится большой проблемой. Кроме того, невозможно заставить сервер (в данном случае NAS-устройство) возвращать идентификаторы вместо имен.

2
задан 18 July 2017 в 19:43
1 ответ

idmapd в данном случае использовал nsswitch по умолчанию, но методы интеграции AD, подробно описанные в упомянутом выше документе, не имеют ссылок на какие-либо модификации idmapd.conf.

Комментарии в idmapd.conf state "Распределенные методы включают nsswitch, umich_ldap и static." Однако это не полный список подключаемых модулей, и в этом случае следует использовать службы безопасности системы (sss).

/etc/idmapd.conf:

[General]
Domain = testdomain.local

[Translation]
Method = sss

Это стало очевидным для меня, когда я понял, что sss обрабатывает сопоставление идеально, когда ldap_id_mapping все еще был включен (но вызывая проблемы сопоставления на стороне сервера с устройством NAS), а ошибка «не удалось найти в домене» сообщалась nss_getpwnam.

Я все еще не понимаю, почему NSS не может выполнить задание, когда sss является одним из перечисленных баз данных для passwd и group в nsswitch.conf, но вышеуказанное изменение выполняет свою работу.

1
ответ дан 3 December 2019 в 12:35

Теги

Похожие вопросы