Игнорировать или изменить домашний каталог LDAP в системах Linux

Есть ли способ игнорировать или изменять домашнюю директорию LDAP на некоторых клиентах Linux, то есть на рабочих станциях?

Конечная цель:

Я пытаюсь использовать нашу базу данных пользователей LDAP, сохраняя домашние каталоги на твердотельных накопителях нашей рабочей станции, но монтируя наш общий домашний каталог по тому же пути.

Фон:

Я работаю в гетерогенной среде кластера HPC + рабочая станция, которая совместно использует NFS и LDAP. Конфигурация LDAP включает в себя атрибут homeDirectory, который правильно читается на всех компьютерах, которые находятся в общей папке NFS (или BeeGFS в кластерах).

На сервере ldap работает openldap, а на рабочих станциях работает nscd с соответствующими /etc/pam.d/common-password а также /etc/nsswitch.conf изменения. Кроме того, я настроил тестовую рабочую станцию ​​с помощью nslcd, чтобы изменить значение homeDirectory с помощью /etc/nslcd.conf, как описано в домашних каталогах пользователей LDAP.

Что касается узлов кластера, то все хорошо, и домашние каталоги находятся на общем сетевом диске (в данном случае через BeeGFS).

Что касается рабочих станций, я бы хотел использовать локальные твердотельные накопители для локальных домашних каталогов, но при этом монтировать домашние каталоги кластера под своими точными путями, поскольку многие пользователи используют абсолютные пути. Я не возражаю против другого ~user а также $HOME пути.

Как правильно переопределить атрибут homeDirectory в машинном режиме?

2 ответа

Решение

Если вы используете SSSD, есть override_homedir опция, которая позволяет заменить значение, предоставленное через LDAP. Он поддерживает шаблоны, так что вы можете установить что-то вроде /my/new/home/%u, так далее.

Не стоит портить homeDirectory и монтировать оба, где это задокументировано в каталоге. / home может быть на локальном диске, затем смонтировать / home / cluster или что-нибудь еще.

Пользователи могут быть сбиты с толку, если один и тот же путь используется в одном окне, но не в другом. По возможности, будьте едины в сети, какие целые деревья ( /home /srv /var и т. Д.) Являются общими, а какие локальными.

Другие вопросы по тегам