CentOS/Redhat: общесистемные псевдонимы при входе через LDAP/sssd

Я задал этот вопрос на форуме поддержки Centos, но мы не нашли для него решения ( https://www.centos.org/forums/viewtopic.php?f=13&t=46101#p196728).

При входе через LDAP/sssd мы не нашли способа настроить общесистемные псевдонимы для всех пользователей, которые активируются при входе в систему с помощью ssh, а также с помощью графического оконного менеджера:

  • редактирование /etc/bashrc и добавление псевдонима внизу не дает никакого успеха. Ни при использовании ssh, ни в графическом логине.
  • редактирование /etc/profile и добавление псевдонима там дает только успех при использовании ssh

Я знаю, что редактирование этих двух файлов - плохая идея. Было бы замечательно, если у кого-то есть решение, которое загружает /etc/profile.d/*

Enviroment:

  • Клиенты: CentOS 6.5
  • Сервер /LDAP: OpenLDAP/slapd 2.4.31-1+nmu2 в Debian 7

1 ответ

На моей коробке CentOS причина, по которой /etc/bashrc загружен, потому что а) моя оболочка bash и б) мой личный ~/.bashrc Исходники / etc / bashrc.

Включает ли.bashrc, который пользователи получают при настройке своего домашнего каталога, sourcing / etc / bashrc и является ли / bin / bash оболочкой по умолчанию в вашем LDAP?

Возможно, переменные / псевдонимы, которые вы пытаетесь изменить, также заданы в файлах.bashrc или.bash_profile в домашнем каталоге пользователей, что сводит на нет все попытки установить общесистемные значения по умолчанию / переопределения?

Это приводит ко второму вопросу: как создаются домашние каталоги? Например, на клиенте с pam_mkhomedir при первом входе в систему или домашние каталоги создаются централизованно на вашем сервере Debian и, например, экспортируются через NFS? Значение по умолчанию для Debian ~/.bashrc, которое копируется из /etc/skel при настройке домашнего каталога, может отличаться от шаблона CentOS в /etc/skel, исходники которого . /etc/bashrc,


Изменить в ответ на комментарий Noxx ниже:

Согласно man-странице bash, единственный глобальный файл, загружаемый bash: /etc/profile Общесистемный файл инициализации, выполненный для оболочек входа в систему.

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

Этот по умолчанию имеет раздел, который рекурсивно загружает /etc/profile.d/*.sh файлы, которые должны быть в расположении для пользовательских файлов с псевдонимами и тому подобное.

Я думаю (но сейчас у меня нет средств для тестирования), графический вход не запускает оболочку входа, только оконный менеджер, и может случиться так, что оболочка bash, например, окно xterm, является интерактивной, а не оболочкой входа.

Снова со страницы руководства: Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из ~/.bashrc, если этот файл существует. Другие / глобальные файлы конфигурации не загружаются.

RHEL / CentOS решают эту проблему и делают интерактивные оболочки похожими на оболочки входа в систему, используя / etc / bashrc в личном кабинете. ~/.bashrc

Лучше всего будет развернуть такой.bashrc при настройке учетных записей пользователей.

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