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(не системный пароль). Я не могу понять это.

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

Ответы:

32

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

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

auth       required   pam_shells.so

в

auth       sufficient   pam_shells.so

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

Mithril
источник
используя 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. Это функция безопасности?
Тимо