chsh: falha na autenticação do PAM


13

Eu quero mudar o ambiente padrão do shell

e execute chsh -s /bin/zshcomo usuário root,

mas uma mensagem de erro apareceu: chsh: PAM authentication failed.

Eu acho este tópico http://ubuntuforums.org/showthread.php?t=1702833

mas a resposta não resolveu meu problema

Qualquer ajuda seria apreciada


este é o conteúdo de /etc/pam.d/chsh

#
# The PAM configuration file for the Shadow `chsh' service
#

# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth       required   pam_shells.so

# This allows root to change user shell without being
# prompted for a password
auth            sufficient      pam_rootok.so

# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session

este é o conteúdo do / etc / shells

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh

eu acho que eu costumava executar chsh -s zsh isso vai mudar a primeira linha de /etc/passwdcomo

root:x:0:0:root:/root:zsh

e chshsolicitará a senha que você tentar

Acabei de editar o /etc/passwdarquivo manualmente e está tudo bem.

erro estúpido e obrigado por suas respostas


Você pode fornecer seu /etc/pam.d/chsh? (BTW é geralmente considerada uma boa idéia para o shell de login de raiz para ser mínimo / estável - há areason você quer zsh como shell padrão em vez de iniciá-lo após o login?)
symcbean

Eu só quero entrar automaticamente no shell zsh quando eu estava logado, talvez isso não seja bom.
txworking

Respostas:


5

Verifique seu arquivo / etc / shells e adicione / bin / zsh ao arquivo se esta linha não existir.


3
Essa resposta me inspirou a verificar /etc/passwdse eu inseri o formato correto do nome do shell. Thx
txworking

Para mim, usando uma VM vagante, eu precisava mudar /etc/passwd. Obrigado @txworking!
Wulftone

Para mim, a questão é chamado por uma configuração errônea para dentro do escudo /etc/passwdpara a conta root ...
cone

3

Verifique o seu /etc/passwd. No meu caso, eu havia especificado um shell inválido chshanteriormente e foi isso que estava causando o problema.

Eu mudei de zshcomo o shell para /bin/zshe isso fez o problema desaparecer para mim.


1

Parece que seu caminho pode estar errado. Para verificá-lo:

[nick ~]$ which zsh
/usr/bin/zsh

Se o resultado for / usr / bin / zch, faça o seguinte:

[nick ~]$ chsh -s /usr/bin/zsh

* edite para erro de digitação.


1

Eu enfrentei o mesmo problema. sempre que digitei o chsh, ele é usado para solicitar

chsh: PAM authentication failed

Mas eu resolvi fazendo algumas modificações no /etc/passwdarquivo

Users of kali-linux

basta abrir o terminal raiz e modificar o /etc/passwdarquivo, você pode usar o editor pico, nano ou vi para este trabalho que eu estou passando pelo vi

vi /etc/passwd

depois procure a conta de usuário. e altere os shells para o shell desejado, certifique-se de que o shell desejado esteja instalado em suas distros do linux para que novos usuários vejam quais shells estão presentes no linux, basta digitar

cat /etc/shells

ele os lista lá. Se você instalou o shell e não consegue vê-lo, /etc/shellé necessário criar um link e colocar o caminho do shell, digamos, suponha /bin/kshno /etc/shellsarquivo manualmente ...

por exemplo, você está no bash e deseja alterá-lo para ksh

basta ir para a conta no /etc/passwdarquivo e no último campo editar

/bin/bashpara /bin/kshou /bin/ksh93(como no seu cat /etc/shells)

basta sair e entrar e você está pronto para ir ...

para usuários de outras distros (digamos) ubuntu

digitar

sudo -H gnome-terminal (para obter um terminal raiz)

e o processo é o mesmo que acima, pois você também possui um terminal raiz como um usuário do kali-linux.


1

Você deve executar seu código como sudo:

sudo chsh -s /bin/zsh

Eu também tive o mesmo problema e funcionou!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.