chsh всегда спрашивает пароль и получает `PAM: Ошибка аутентификации`


17

Сегодня я попытался перейти на другую оболочку.

Сначала я попробовал рыбу и использовал chsh -s fishее по умолчанию. Через некоторое время я обнаружил, что его нельзя использовать ~/.bashrc(&& нужно заменить на и).

Поскольку я предпочитаю повторное использование ~/.bashrc, я нашел, zshчто кажется более простым, и следовал этой документации, чтобы перейти к zsh.

Пока я бежал sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)", вдруг меня попросили войти Password:. Я ввел пароль root, но получил PAM: Authentication failure.

Потом я попробовал chsh -s bashи chsh -s zsh, он всегда спрашивал у меня пароль и выкинул PAM: Authentication failure(не системный пароль). Я не могу понять это.


Проверьте, есть ли у вас псевдоним или что-то с sudo в вашем .bashrc / .zshrc / .etcrc
Лукас Серафим

Ответы:


32

Благодаря этому вопросу о сбое сервера я решил эту проблему следующим образом:

Изменение /etc/pam.d/chsh:от:

auth       required   pam_shells.so

в

auth       sufficient   pam_shells.so

Тогда он больше не запрашивает пароль. Но я думаю, что лучше восстановить настройки chsh после переключения оболочки.


используя sed: sudo sed s / обязательно / достаточно / g -i /etc/pam.d/chsh
ospider

К сожалению, не работает. Но я прокомментировал эту строку, изменил оболочку и снова удалил комментарий. Так что твой намек был правильным для меня.
Маркус Зеллер

4
  1. Используйте, which zshчтобы найти ваше zshместоположение.

    $ which zsh
    /usr/bin/zsh
    
  2. Добавить /usr/bin/zshв/etc/shells

  3. Проверьте, /etc/passwdчто ваш конфиг/usr/bin/zsh

  4. Бегать chsh -s /usr/bin/zsh


Это работает только для обычного пользователя, но не для root. Это функция безопасности?
Тимо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.