O chsh sempre pede uma senha e obtém `PAM: Falha na autenticação`

15

Hoje eu tentei mudar para outro shell.

Primeiro, tentei pescar e costumava chsh -s fishmudar o peixe para o padrão. Depois de algum tempo, descobri que ele não pode ser usado ~/.bashrc(&& precisa ser substituído por e).

Como prefiro reutilizar ~/.bashrc, achei o zshque parece mais fácil e segui esta documentação para mudar zsh.

Enquanto eu estava correndo sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)", de repente ele me pediu para entrar Password:. Digitei a senha do root, mas obtive PAM: Authentication failure.

Então eu tentei chsh -s bashe chsh -s zsh, sempre me pediu uma senha e jogou PAM: Authentication failure(não a senha do sistema). Eu não consigo descobrir isso.

Mithril
fonte
Verifique se você tem um apelido ou algo com sudo em seu .bashrc / .zshrc / .etcrc
Lucas Serafim

Respostas:

29

Graças a esta pergunta sobre falha no servidor , trabalhei com isso:

Mudando /etc/pam.d/chsh:de:

auth       required   pam_shells.so

para

auth       sufficient   pam_shells.so

Então ele não pede mais uma senha. Mas acho melhor restaurar as configurações do chsh depois de mudar o shell.

Mithril
fonte
usando sed: sudo sed s / obrigatório / suficiente / g -i
/etc/pam.d/chsh
Infelizmente não funcionou. Mas comentei essa linha, mudei o shell e removi o comentário novamente. Então sua dica foi a certa para mim.
Markus Zeller
3
  1. Use which zshpara encontrar sua zshlocalização.

    $ which zsh
    /usr/bin/zsh
    
  2. Adicionar /usr/bin/zsha/etc/shells

  3. Verifique se /etc/passwdsua configuração está/usr/bin/zsh

  4. Corre chsh -s /usr/bin/zsh

Xu Radman
fonte
Isso funciona apenas para o usuário normal, mas não para root. É um recurso de segurança?
Timo