Рейтинг:1

Linux: преобразование из NIS в AD-аутентификацию, как связать старый UID/GID с «новыми» пользователями?

флаг cn

Предыстория: Наша организация использовала NIS более 20 лет для аутентификации UNIX/Linux, продолжая и в настоящее время. Windows и Active Directory появились в нашей организации где-то 16 лет назад, но AD никогда не использовалась для аутентификации в Linux (сейчас используются только RHEL/CentOS и Ubuntu Linux, все остальные *nix отошли на второй план). все наши многочисленные ресурсы Linux, мы по-прежнему используем традиционные диапазоны UID/GID для файлов пользователей.

Теперь руководство, наконец, продиктовало, что нам нужно перейти на AD для аутентификации Linux и прекратить использование NIS (здесь нет реальных аргументов;), и поэтому мы работаем над использованием SSSD для этого (который кажется популярным [единственным?] способ интеграции аутентификации Linux с AD.) Проблема, с которой мы столкнулись, заключается в том, как связать старые значения UID и GID на основе NIS для пользователей с их новым идентификатором на основе AD. Например, мой пользователь с AD-аутентификацией в тестовой системе имеет это от getent passwd -s sss wdennis:

root@vm01:~# getent passwd -s sss wdennis
wdennis:*:140001116:140000513:Уилл Деннис:/home/wdennis:/bin/bash

Таким образом, очевидно, что UID/GID генерируется автоматически и не соответствует нашим текущим значениям NIS. Проведя некоторое исследование AD и его схемы, я обнаружил, что пользовательские атрибуты включают следующее:

  • uidNumber
  • gidNumber
  • unixHomeDirectory
  • логинШелл

Мой вопрос, может ли SSSD (или что-то еще, что мы используем для аутентификации) каким-то образом потреблять значения uidNumber и gidNumber сопоставить существующий UID/GID файлов с новым пользователем AD-auth'd? Или как еще мы можем связать существующую информацию о владении файлом с пользователями, прошедшими аутентификацию AD? (Из-за количества файлов и машин, на которых они есть, на самом деле невозможно чаун файлы в новые значения UID/GID...)

Рейтинг:1
флаг cz

Да, sssd может использовать атрибуты POSIX из AD вместо собственного сопоставления идентификаторов.

В разделе для вашего домена AD в /etc/sssd/sssd.conf, просто установите ldap_id_mapping = ложь.

Если вы уже использовали автоматическое сопоставление идентификаторов sssd на компьютере, обязательно очистите его кэш перед перезапуском sssd.

rm -f /var/lib/sss/db/*

Когда используешь присоединиться к царству чтобы присоединить новый компьютер к домену, включите опцию командной строки --automatic-id-mapping=нет.

флаг cn
Работает, спасибо! Еще один вопрос: нужно ли заполнять атрибут POSIX для каждого пользователя, который хочет войти в систему через SSSD? Или есть способ позволить некоторым людям использовать эти атрибуты и SSSD, а если нет, он генерирует значения?
Michael Hampton avatar
флаг cz
@WillDennis, насколько я знаю, то или иное для всего домена, но я не прикасался ни к одной из этих настроек уже несколько лет.
Michael Hampton avatar
флаг cz
И в качестве альтернативы всему этому рассмотрите возможность размещения ваших систем Linux в домене FreeIPA и настройки доверия к AD. Это не решение вашей проблемы с UID, но это решение проблем, которые могут возникнуть в будущем, таких как настройка политик sudo для всего домена и других функций, ориентированных на Linux, которые FreeIPA предоставляет, а AD нет.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.