Non riesco ad accedere all'utente che ho appena creato usando useradd


1

Sto usando Debian 8 e quando inserisco questo nel Terminale:

sudo useradd -p pass test

Poi vedo questo in /etc/passwd:

test:x:1001:1001::/home/test:/bin/sh

Eppure questo succede:

su test
Password: 
su: Authentication failure

Sto impazzendo?

Risposte:


1

L'opzione -pdi useraddnon viene utilizzata per impostare la password in testo normale. Con -pte stai impostando direttamente ciò che verrà archiviato /etc/shadow. Per impostare la password dalla riga di comando in questo modo, dovrai prima generare un hash, quindi passarlo useraddall'utilità.

Esempio:

Generare l'hash della password barsalata con stringa foousando il programma openssl:

openssl passwd -1 -salt foo bar

questo produrrà una stringa $1$foo$te5SBM.7C25fFDu6bIRbX1. Se lo passi a useradd(fai attenzione ad aggiungere virgolette singole in modo che non si espanda in variabili!):

useradd -p '$1$foo$te5SBM.7C25fFDu6bIRbX1' test

Dovresti essere in grado di accedere come testcon la password bar.


Oh dio grazie. Lo stavo davvero perdendo con questo
Lawless Leopard

@LawlessLeopard anche considerare l'utilizzo stackoverflow.com/a/2151149/6350644 quando la fase di impostazione della password non sarà esposta da qualche parte potenzialmente pubblica.
Marek Rost,

L'altra soluzione è semplicemente usare adduserinvece?
Jake Gould

1
@JakeSe lo sarebbe sicuramente, se non ti dispiace impostare l'account in modo interattivo. Dal momento che la domanda ha una password sulla riga di comando, ho supposto che probabilmente il richiedente desideri usarla come parte di qualche automazione o script. Ecco perché ho suggerito di dividere la generazione effettiva della password e la creazione dell'utente.
Marek Rost

@MarekRost è esattamente per scopi di scripting
Lawless Leopard
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.