Как я могу войти в систему с моими терминалами bash, работающими в интерактивном режиме?

Я использую контроллер домена (oldap) для аутентификации моих хостов. Все это отлично работает, за исключением того, что мои пользователи ldap инициализируются неинтерактивными оболочками.

Я знаю, что проблема связана не с пользователем, поскольку домашний каталог скелета копируется успешно, а я может успешно эмулировать неинтерактивную оболочку, выполнив bash -l.

Кто-нибудь знает, где я могу настроить процесс загрузки пользователя? или процесс загрузки оболочки / tty / terminal?

Я знаю, что должен быть какой-то файл конфигурации, который определит, что оболочку по умолчанию следует вызывать с помощью интерактивной опции, но я не могу ее найти. [ ! d5]

PS: еще один странный побочный эффект - это порядок элементов моей переменной PATH. Обычно первыми элементами пути являются /usr/local/{sbin,bin}, затем /user. Я не уверен, что это важно, хотя

2
задан 18 September 2017 в 18:30

2 ответа

Я нашел это в моем случае! На самом деле, очень просто! Для начала запустите

ldapsearch -xLLLH ldap://<dc_uri> -b <dirbase> uid=<username> '*' > user.ldif grep loginshell user.ldif

. В моем случае у пользователя была неправильная логическая оболочка, назначенная (/bin/sh), которая для меня означает тире и не bash.

Решение прост , Преобразуйте файл описания user.ldif в модификатор, а затем запустите ldapmodify с достаточными учетными данными.

# ldif dn: uid=<username>,<dirbase> changeType: modify replace: loginShell loginShell: /bin/bash

Затем запустите

ldapmodify -xWH ldap://<dc_uri> -D <adminuser> -f modUser.ldif

Если вы боитесь, на вашем лице, запустите с опциями -nv, чтобы вы могли получить подробное моделирование того, что произойдет

3
ответ дан 18 July 2018 в 06:38

Я нашел это в моем случае! На самом деле, очень просто! Для начала запустите

ldapsearch -xLLLH ldap://<dc_uri> -b <dirbase> uid=<username> '*' > user.ldif grep loginshell user.ldif

. В моем случае у пользователя была неправильная логическая оболочка, назначенная (/bin/sh), которая для меня означает тире и не bash.

Решение прост , Преобразуйте файл описания user.ldif в модификатор, а затем запустите ldapmodify с достаточными учетными данными.

# ldif dn: uid=<username>,<dirbase> changeType: modify replace: loginShell loginShell: /bin/bash

Затем запустите

ldapmodify -xWH ldap://<dc_uri> -D <adminuser> -f modUser.ldif

Если вы боитесь, на вашем лице, запустите с опциями -nv, чтобы вы могли получить подробное моделирование того, что произойдет

3
ответ дан 24 July 2018 в 18:38

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

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