Intereting Posts
управление пакетами rpm в системе без доступа inet Загрузка PXE Live CD «Канал 3: сбой при открытии: административно запрещено: открыть сбой» при создании сеанса VNC в туннеле SSH Вывод различных строк при сравнении двух файлов Курсор Urxvt отключает широкие символы, такие как 'w' и 'm' Как отлаживать ~ / .forward Могу ли я сделать завиток или перезагрузить wget, если отключен? Оптимальный способ установки и чтения переменных как временно настроить SSH-прокси-сервер Ошибка демона Cron: разрешение отклонено Как показать значок приложения в контекстном меню «открыть с» для пользовательского mimetype в Linux Mint Cinnamon? Внутренние переменные контекста Linux: что происходит, когда процесс завершается до прерывания таймера? Archlinux 2014.04 64bit и проблема подключения при установке Как заменить файл на необработанном устройстве, сохранив целостность файловой системы? Запрос состояния питания дисплея в Linux (Xorg) в командной строке

Изменить домашний каталог для пользователя LDAP в Linux

У меня есть пользователь LDAP, который обращается к серверу на основе наличия соответствующего атрибута хоста LDAP через sssd. Этот пользователь не отображается в / etc / passwd, потому что он не является локальным. Как изменить его исходное местоположение, если он уже вошел в систему, и он был создан в местоположении по умолчанию? RHEL 6 Это просто usermod -d /new/location -m ?

Я не считаю, что утилита RHEL (или любые инструменты NSS для акций) поддерживает изменение содержимого NSS. Вероятно, вам нужно будет фактически изменить содержимое LDAP, а затем переместить его домашний каталог. Возможные инструменты для вас: diradm (посмотрите на v2 fork в Gentoo esp.), ldapvi , cpu , ldapscripts (может быть только debian)

Это на самом деле потрясающе легко. Если ваш nsswitch – файлы ldap; просто добавьте запись для них в / etc / passwd и измените любой параметр, который вы хотите. Если они еще не существуют в / etc / passwd, вы можете сделать getent passwd <username> | sed 's|/home/<username>|/home/remoteusers/<username>|g' >> /etc/passwd getent passwd <username> | sed 's|/home/<username>|/home/remoteusers/<username>|g' >> /etc/passwd например, чтобы изменить домашний каталог из корня / home в подпапку дома под названием remoteusers. Предостережение заключается в том, что вы не можете использовать useradd или usermod, вы должны отредактировать файл с помощью редактора.

Я знаю, что эта ветка устарела. Тем не менее, я наткнулся на него, пытаясь сделать то же самое на CentOS 7. Я полагаю, что процесс тот же. Мне нужно было изменить несколько каталогов пользователей из /home/USER в /home/ldap-users/USER .

Сначала создайте файл ldif с изменениями, которые вы хотите сделать. Я назвал мой changehomedirs.ldif . Возможно, вам придется изменить свой ou в зависимости от того, в какую организационную единицу вы разместили своих пользователей. Я позвонил своим людям.

Затем я написал сценарий, чтобы по существу прокручивать каждого пользователя LDAP по одному за раз и использовать sed для замены слова USER в файле changehomedirs.ldif текущему пользователю в цикле и перенаправить вывод во временный файл с именем tmp.ldif.

Затем я использовал команду ldapmodify чтобы внести изменения, используя параметр -f чтобы прочитать необходимые изменения из файла tmp.ldif. Пример приведен ниже.

Это просто тестовая система, поэтому пароль не чувствителен к природе.

Домашние директории до изменения LDAP

Как изменить домашний каталог пользователей в LDAP

Домашние каталоги после модификации LDAP