8

Я парень из Unix старой школы, так что мои навыки в Linux, вероятно, немного устарели. Но, похоже, это должно быть достаточно просто.

В системе Red Hat Linux, где у меня нет root (он администрируется ИТ-отделом компании), я хочу иметь возможность изменить свою оболочку входа в систему. Запуск chsh дает мне:

$ chsh -s /bin/bash
chsh: can only change local entries; use ypchsh instead.

Итак, я запустил ypchsh вместо:

$ ypchsh userid
ypchsh: can't find the master ypserver: Internal NIS error

Что дает? У кого-нибудь есть другие идеи?

5 ответов5

8
  • Шек: ypchsh

  • LDAP:

    $ ldapmodify <<EOF
    dn: YOUR_DN
    changetype: modify
    replace: loginShell
    loginShell: /bin/bash
    -
    EOF
    

    (YOUR_DN может иметь вид uid=$USER,ou=people,dc=example,dc=org ; попробуйте ldapwhoami чтобы увидеть)

  • Гесиод: Спросите системного администратора.

  • Active Directory: спросите системного администратора.

5

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

Вы можете найти .profile в домашнем каталоге пользователя - используйте ls -la чтобы увидеть его.

Ваш файл .profile может иметь что-то вроде этого:

PATH=/usr/bin
export PATH
#Add this to go bash at login
bash
#end
4

Таким образом, реальный ответ в моем случае заключается в том, что системные администраторы (ИТ) хотят заблокировать стандартную конфигурацию, поэтому вы должны спросить их. Но в процессе я обнаружил еще несколько полезных команд для выяснения вашей конфигурации LDAP (если это происходит именно так, как вы настроили), на случай, если ваша система сообщит о той же ошибке SASL "ldap_sasl_interactive_bind_s: неизвестный метод аутентификации (-6) дополнительная информация : SASL (-4): механизм недоступен: "

Перечислите методы аутентификации SASL, которые поддерживает ваша система:

 ldapsearch -x -LLL -s "base" -b "" supportedSASLMechanisms

Результаты могут быть примерно такими:

dn:
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: DIGEST-MD5

Затем вы можете передать метод аутентификации командам LDAP, используя опцию -Y, например так:

ldappasswd -Y DIGEST-MD5
ldapmodify -Y DIGEST-MD5
4

Другое решение - просто переопределить вашу оболочку YP:

Добавьте эту строку в ваш /etc/passwd:

+<USERNAME>::::::/bin/bash

Пример:

+psalm33::::::/bin/bash

И добавьте следующее в ваш /etc/nsswitch.conf:

passwd: compat

passwd_compat: nis
0

Другой способ увидеть учетные данные для верхнего ответа - это ldapsearch -x

ldapsearch -x uid=$(whoami)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .