Другая оболочка для входа по SSH на определенных машинах

У меня есть пользователи Active Directory без локальных учетных записей, поэтому они не могут использовать chsh . Они могут входить в систему на нескольких различных типах серверов, и в большинстве случаев / bin / bash является правильной оболочкой, или, по крайней мере, для большинства пользователей их предпочтительная оболочка доступна на большинстве серверов.

Однако есть пара исключительных случаев. Например, на большинстве компьютеров Mac через Homebrew установлены пользовательские / последние оболочки. Они должны, например, оставить системной оболочкой / bin / bash (без мошенничества с символическими ссылками!), Но иметь более позднюю версию Bash, установленную через Homebrew по адресу / usr / local / bin / bash . Тот факт, что этого нет на большинстве серверов, по-видимому, не позволяет использовать свойство AD для изменения глобальной оболочки по умолчанию.

Можно ли указать оболочку, которую sshd запускает для такой учетной записи на конкретной машине (вне зависимости от логина / интерактивного статуса)? Исключительные случаи, как правило, немногочисленны и пока происходят только на машинах для разработки, которые находятся в пределах контроля пользователей, желающих выполнить настройку. В качестве альтернативы, существуют ли другие свойства AD, которые можно использовать для обеспечения большей детализации (например, укажите / usr / local / bin / bash и используйте резервное поведение для другого свойства на серверах, на которых этот путь отсутствует).

0
задан 13 April 2017 в 15:14
1 ответ

Я предполагаю, что вы используете LDAP

Чтобы переопределить оболочку входа в систему для конкретной машины, вам необходимо добавить следующую директиву в конфигурацию LDAP машины ( /etc/ldap.conf в в большинстве случаев)

nss_override_attribute_value loginShell

И перезапустите соответствующие службы AD, используя подходящий для вашего дистрибутива метод

1
ответ дан 4 December 2019 в 16:43

Теги

Похожие вопросы