chsh zawsze pyta o hasło i dostaje `PAM: Błąd uwierzytelnienia`

17

Dzisiaj próbowałem przejść na inną powłokę.

Najpierw próbowałem ryb i zwykłem chsh -s fishzmieniać ryby na domyślne. Po pewnym czasie okazało się, że nie można go używać ~/.bashrc(&& należy zastąpić przez i).

Ponieważ wolę używać ponownie ~/.bashrc, znalazłem to, zshco wydaje się łatwiejsze, i przeszedłem zgodnie z tą dokumentacją, aby przejść do zsh.

Gdy biegłem sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)", nagle poprosił mnie o wejście Password:. Podałem hasło roota, ale dostałem PAM: Authentication failure.

Potem próbowałem chsh -s bashi chsh -s zshzawsze prosił mnie o hasło i rzucił PAM: Authentication failure(nie hasło systemowe). Nie mogę tego rozgryźć.

Mithril
źródło
Sprawdź, czy masz alias lub coś z sudo w .bashrc / .zshrc / .etcrc
Lucas Serafim

Odpowiedzi:

33

Dzięki temu pytaniu o awarię serwera obejrzałem to przez:

Zmiana /etc/pam.d/chsh:z:

auth       required   pam_shells.so

do

auth       sufficient   pam_shells.so

To nie wymaga już hasła. Ale myślę, że lepiej jest przywrócić ustawienia chsh po zmianie powłoki.

Mithril
źródło
using sed: sudo sed s / wymagany / wystarczający / g -i /etc/pam.d/chsh
ospider
Niestety nie zadziałało. Ale skomentowałem tę linię, zmieniłem powłokę i ponownie usunąłem komentarz. Twoja wskazówka była dla mnie odpowiednia.
Markus Zeller,
4
  1. Użyj, which zshaby znaleźć swoją zshlokalizację.

    $ which zsh
    /usr/bin/zsh
    
  2. Dodaj /usr/bin/zshdo/etc/shells

  3. Sprawdź, /etc/passwdczy twoja konfiguracja to/usr/bin/zsh

  4. Biegać chsh -s /usr/bin/zsh

Xu Radman
źródło
Działa to tylko dla zwykłego użytkownika, ale nie dla root. Czy to funkcja bezpieczeństwa?
Timo