quiero cambiar el entorno de shell predeterminado
y ejecutar chsh -s /bin/zshcomo usuario root,
sino un mensaje de error apareció: chsh: PAM authentication failed.
Encuentro este hilo http://ubuntuforums.org/showthread.php?t=1702833
pero la respuesta no resolvió mi problema
Cualquier ayuda sería apreciada
este es el contenido 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 es el contenido 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
Me parece que solía ejecutar chsh -s zsh
esto cambiará la primera línea de /etc/passwdcomo
root:x:0:0:root:/root:zsh
y chshle pedirá la contraseña en cualquier momento que intente
Acabo de editar el /etc/passwdarchivo manualmente, y todo está bien.
estúpido error y gracias por tus respuestas

Respuestas:
Verifique su archivo / etc / shells y agregue / bin / zsh al archivo si esta línea no existe.
fuente
/etc/passwdarchivo si ingresé el formato correcto del nombre de shell. Thx/etc/passwd. Gracias @txworking!/etc/passwdde la cuenta raíz ...Revisa tu
/etc/passwd. En mi caso, ya había especificado un shell no válidochshy eso es lo que estaba causando el problema.Lo cambié de
zshcaparazón a/bin/zshy eso hizo que el problema desapareciera para mí.fuente
Parece que tu camino puede estar equivocado. Para comprobarlo:
Si el resultado es / usr / bin / zch, esto debería hacer el truco:
* editar para error tipográfico.
fuente
Me enfrenté al mismo problema. cada vez que escribí en chsh se usa para solicitar
Pero lo resolví haciendo algunas modificaciones en el
/etc/passwdarchivosimplemente abra su terminal raíz y modifique el
/etc/passwdarchivo, puede usar el editor pico, nano o vi para este trabajo al que voy viluego busque la cuenta de usuario. y cambie los shells a su shell deseado, asegúrese de que el shell deseado esté instalado en sus distribuciones de Linux para que el nuevo usuario vea qué shells están presentes en su Linux simplemente escriba
los enumera allí. Si ha instalado el shell y no puede verlo,
/etc/shelldebe crear un enlace y colocar la ruta del shell, por ejemplo./bin/kshen el/etc/shellsarchivo manualmente ...por ejemplo, estás en bash y quieres cambiarlo a ksh
solo ve a la cuenta en
/etc/passwdarchivo y en el último campo edita/bin/basha/bin/ksh, o/bin/ksh93(como en sucat /etc/shells)simplemente cierre sesión e inicie sesión y estará listo para comenzar
para usuarios de otras distribuciones (digamos) ubuntu
escribir
sudo -H gnome-terminal(para obtener un terminal raíz)y el proceso es el mismo que el anterior ya que usted también tiene un terminal raíz como un usuario de kali-linux
fuente
Debes ejecutar tu código como sudo:
¡También tuve el mismo problema y funcionó!
fuente