Come cambiare la password usando usermod?

9

Sono superadmin di un server e mi piace cambiare la password di un utente esistente. Come posso farlo?

Ho provato

usermod -p 'new-password' john

ma non ha funzionato?

    
posta Mr Coder 13.05.2012 - 20:29

7 risposte

6

Puoi utilizzare passwd :

sudo passwd USERNAME 

Non è necessario sudo se sei il superutente

    
risposta data RiaD 13.05.2012 - 20:35
14

Il flag usermod -p si aspetta che i dati siano la password già in un formato crittografato.

Utilizza openssl passwd per generare i dati crittografati, o fai come segue:

usermod -p 'openssl passwd' (USERNAME)
    
risposta data Rorik 05.05.2013 - 00:21
6

Il motivo per cui non ha funzionato è dovuto al fatto che l'opzione -p di usermod prevede che la password sia già crittografata.

Dalla pagina man di usermod :

 -p, --password PASSWORD
       The encrypted password, as returned by crypt(3).

Non è consigliabile impostare una password in questo modo.

Invece dovresti usare passwd <username> . Questo dovrebbe (come usermod ) essere eseguito come root (se non stai cambiando la password degli utenti attualmente loggati).

Per cambiare la password per l'utente foo.

sudo passwd foo

Questo richiederà una nuova password.

Dai un'occhiata alla pagina man per passwd per maggiori informazioni sull'impostazione, ad esempio, sul tempo di scadenza.

Buona fortuna!

    
risposta data Zoke 13.05.2012 - 20:58
1

Basta digitare

passwd

In questo modo l'utente normale può cambiare la propria password senza privilegi di root se non si ha.

    
risposta data Achu 13.05.2012 - 20:43
1

Il modo di assegnare una password con usermod (che è ciò che l'OP ha effettivamente richiesto) è di usare una password hash crypt() per l'argomento -p .

SALT="Q9"
PLAINTEXT="secret_password"
HASH=$(perl -e "print crypt(${PLAINTEXT},${SALT})")
echo "Password Hash = \"${HASH}\""

Quindi usalo nel tuo argomento della riga di comando usermod -p :

usermod -p ${HASH} john
    
risposta data Waldo Trout 11.03.2016 - 18:02
1

Un comando non interattivo a linea singola per modificare la password di un utente:

sudo usermod -p 'perl -e "print crypt("new-password","Q4")"' john

usermod -p richiede che la password crittografata funzioni. Tieni presente che new-password sarà visibile agli utenti che possono elencare i processi.

    
risposta data Benoy G 16.04.2016 - 07:52
0

Qualcosa che dovrebbe essere aggiunto qui è il seguente. Questo metodo:

sudo usermod -p perl -e "print crypt("new-password","Q4")" john

significa che molte password molto simili funzioneranno TUTTE. Ad esempio, sul server Oracle Linux 7.4 e sul desktop Ubuntu 17.10 prendi in considerazione:

sudo usermod -p perl -e "print crypt("borkling","Q4")" orabuntu

Ora se lo fai:

su - orabuntu

troverai che TUTTA la password che inizia con "borkling" funzionerà, ad es.

borkling88 borklingjars

anche se "borkline" non funzionerà, perché, come indicato in precedenza, qualsiasi password che abbia "borkling" come prefisso funzionerà anche quando la password è impostata in questo modo.

Un modo per fare in modo che afaik non abbia questo indesiderato effetto collaterale è il seguente:

(il credito per questi va a "Sandeep" qui:
link )

Su RedHaty Linuxes: (ometti la "-G wheel" se non vuoi concedere sudo privs)

sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G wheel $ {USERNAME}

Su Debiany Linuxes (ometti il ​​-G sudo se non vuoi sudo privs):

sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}

    
risposta data gstanden 19.01.2018 - 21:17

Leggi altre domande sui tag