chsh: autenticazione PAM non riuscita


13

voglio cambiare la shell predefinita env

ed esegui chsh -s /bin/zshcome utente root,

ma un messaggio di errore è comparso: chsh: PAM authentication failed.

trovo questa discussione http://ubuntuforums.org/showthread.php?t=1702833

ma la risposta non ha risolto il mio problema

Qualsiasi aiuto sarebbe apprezzato


questo è il contenuto di /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

questo è il contenuto di / 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

trovo che ero solito eseguire chsh -s zsh questo cambierà la prima riga di /etc/passwdcome

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

e chshti chiederà la password per ogni tentativo

ho appena modificato il /etc/passwdfile manualmente e tutto è ok.

stupido errore e grazie per le tue risposte


Puoi fornire il tuo /etc/pam.d/chsh? (A proposito, è generalmente considerata una buona idea che la shell di login di root sia minima / stabile - ci sono aree su cui vuoi che zsh sia la shell predefinita piuttosto che
— avviarla

voglio solo inserire automaticamente la shell zsh quando ero appena loggato, forse non va bene.
— txworking

Risposte:


5

Controlla il tuo file / etc / shells e aggiungi / bin / zsh al file se questa linea non esiste.


3
questa risposta mi ha ispirato a controllare il /etc/passwdfile se ho inserito il formato corretto del nome della shell. Thx
— txworking

Per me, utilizzando una macchina virtuale vagabonda, avevo bisogno di cambiare /etc/passwd. Grazie @txworking!
— wulftone

Per me, il problema è chiamato da una configurazione errata per la shell interna /etc/passwdper l'account root ...
— taper

3

Controlla il tuo /etc/passwd. Nel mio caso avevo precedentemente specificato una shell non valida chshe questo è ciò che stava causando il problema.

L'ho cambiato da zshcome shell a /bin/zshe questo ha fatto sparire il problema per me.


1

Sembra che il tuo percorso sia sbagliato. Per verificarlo:

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

Se il risultato è / usr / bin / zch, questo dovrebbe fare il trucco:

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

* modifica per errore di battitura.


1

Ho affrontato lo stesso problema. ogni volta che ho digitato chsh lo usa per chiedere

chsh: PAM authentication failed

Ma l'ho risolto apportando alcune modifiche al /etc/passwdfile

Users of kali-linux

basta aprire il terminale di root e modificare il /etc/passwdfile per utilizzare l'editor pico, nano o vi per questo lavoro

vi /etc/passwd

quindi cerca l'account utente. e cambia le shell nella shell desiderata assicurati che la shell desiderata sia installata nelle tue distribuzioni di linux affinché i nuovi utenti possano vedere quali shell sono presenti nel loro linux semplicemente digita

cat /etc/shells

li elenca lì. Se non hai installato la shell e non riesci a vederlo, /etc/shelldevi creare un collegamento e posizionare un percorso della shell, per esempio, supponendo /bin/kshnel /etc/shellsfile manualmente ...

per esempio sei in bash e vuoi cambiarlo in ksh

vai all'account nel /etc/passwdfile e nell'ultima modifica del campo

/bin/basha /bin/ksho /bin/ksh93(come nel tuo cat /etc/shells)

basta disconnettersi e accedere e sei a posto ...

per gli utenti di altre distro (diciamo) ubuntu

digitare

sudo -H gnome-terminal (per ottenere un terminale root)

e il processo è lo stesso di quanto sopra anche tu hai un terminale root come un utente kali-linux ..


1

È necessario eseguire il codice come sudo:

sudo chsh -s /bin/zsh

Ho avuto anche lo stesso problema, e ha funzionato!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.