Sono un superadmin di un server e mi piace cambiare la password di un utente esistente. Come posso fare ciò ?
Provai
usermod -p 'new-password' john
ma non ha funzionato?
Sono un superadmin di un server e mi piace cambiare la password di un utente esistente. Come posso fare ciò ?
Provai
usermod -p 'new-password' john
ma non ha funzionato?
Risposte:
Il motivo per cui non ha funzionato è perché usermodl'opzione -p prevede che la password sia già crittografata.
Dalla usermodpagina man di:
-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 fatto come root (se non stai cambiando la password degli utenti attualmente connessi).
Per cambiare la password dell'utente foo.
sudo passwd foo
Ciò richiederà una nuova password.
Dai un'occhiata alla pagina di manuale passwdper ulteriori informazioni sull'impostazione, ad esempio il tempo di scadenza.
In bocca al lupo!
Il modo di assegnare una password con usermod (che è ciò che l'OP ha effettivamente richiesto) è utilizzare una crypt()password con hash per l' -pargomento.
SALT="Q9"
PLAINTEXT="secret_password"
HASH=$(perl -e "print crypt(${PLAINTEXT},${SALT})")
echo "Password Hash = \"${HASH}\""
Quindi utilizzalo usermod -pnell'argomento della riga di comando:
usermod -p ${HASH} john
Un comando a linea singola non interattivo per modificare la password di un utente:
sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john
usermod -prichiede una password crittografata per funzionare. Si noti new-passwordche sarà visibile per gli utenti che possono elencare i processi.
Qualcosa che dovrebbe essere aggiunto qui è il seguente. Questo metodo:
sudo usermod -p perl -e "print crypt("new-password","Q4")"john
significa che più password molto simili funzioneranno TUTTE. Ad esempio, sul server Oracle Linux 7.4 e sul desktop Ubuntu 17.10 prendere in considerazione:
sudo usermod -p perl -e "print crypt("borkling","Q4")"orabuntu
Ora se uno lo fa:
su - orabuntu
scoprirai che QUALUNQUE password che inizia con "borkling" funzionerà, ad es
borkling88 borklingjars
anche se "borkline" non funzionerà, perché come indicato precedentemente qualsiasi password che ha "borkling" come prefisso funzionerà anche quando la password è impostata in questo modo.
Un modo per far sì che afaik non abbia questo effetto collaterale indesiderato è il seguente:
(credito per questi va a "Sandeep" qui:
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )
Su RedHaty Linuxes: (ometti la "ruota G" se non vuoi che vengano concessi i priv sudo)
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G wheel $ {USERNAME}
Su Debiany Linuxes (ometti il -G sudo se non vuoi i sudo privs):
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}