Назад | Перейти на главную страницу

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

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

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

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

Окружающая среда:

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

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

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

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


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

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

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

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

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

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

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

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