Verifique seu arquivo / etc / shells e adicione / bin / zsh ao arquivo se esta linha não existir.
Eu quero mudar o env shell padrão
e execute chsh -s /bin/zsh
como usuário root,
mas uma mensagem de erro apareceu: chsh: PAM authentication failed
.
eu acho esse segmento link
mas a resposta não resolveu meu problema
qualquer ajuda seria apreciada
este é o conteúdo do /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 de / 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 correr chsh -s zsh
isso mudará a primeira linha de /etc/passwd
as
root:x:0:0:root:/root:zsh
e chsh
pedirão a senha que você tenta
Eu apenas edito o arquivo /etc/passwd
manualmente, e está tudo bem.
erro estúpido e obrigado por suas respostas
Verifique seu /etc/passwd
. No meu caso, eu havia especificado um shell inválido com chsh
anteriormente e foi isso que causou o problema.
Eu mudei de zsh
como o shell para /bin/zsh
e isso fez com que o problema desaparecesse para mim.
Parece que o seu caminho está errado. Para verificar:
[nick ~]$ which zsh
/usr/bin/zsh
Se o resultado for / usr / bin / zch, isso deve funcionar:
[nick ~]$ chsh -s /usr/bin/zsh
* editar por erro de digitação.
Eu enfrentei o mesmo problema. sempre que eu digitei chsh , use para avisar
chsh: PAM authentication failed
Mas resolvi fazendo algumas modificações no arquivo /etc/passwd
Users of kali-linux
basta abrir o seu terminal raiz
e modificar o arquivo /etc/passwd
você pode usar o editor pico, nano ou vi para este trabalho que estou passando pelo vi
vi /etc/passwd
pesquise a conta do usuário. e mude as cascas para o seu shell desejado verifique se o shell desejado está instalado nas suas distros do linux para o novo usuário ver quais shells estão presentes no seu linux basta digitar
cat /etc/shells
lista-os lá. Se você instalou o shell e não consegue vê-lo em /etc/shell
, é necessário criar um link e colocar o caminho do shell para supor /bin/ksh
in /etc/shells
manualmente ...
por exemplo, você está no bash e quer mudá-lo para ksh
basta acessar a conta no arquivo /etc/passwd
e no último campo editar
/bin/bash
a /bin/ksh
ou /bin/ksh93
(como em seu cat /etc/shells
)
apenas faça logout e login e você está pronto para ir ...
para usuários de outras distros (digamos) do ubuntu
digite
sudo -H gnome-terminal
(para obter um terminal raiz)
e o processo é o mesmo que o anterior, você também tem um terminal root como um usuário kali-linux ..
Você deve executar seu código como sudo:
sudo chsh -s /bin/zsh
Eu também tive o mesmo problema e funcionou!