GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso assegnare una password iniziale/predefinita a un utente in Linux?

Puoi usare chpasswd per farlo, in questo modo:

echo "username:newpassword" | chpasswd

Puoi reindirizzare in chpasswd da programmi diversi da echo , se conveniente, ma questo farà il trucco.

Modifica:per generare la password all'interno dello script della shell e quindi impostarla, puoi fare qualcosa del genere:

# Change username to the correct user:
USR=username
# This will generate a random, 8-character password:
PASS=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c8`
# This will actually set the password:
echo "$USR:$PASS" | chpasswd

Per ulteriori informazioni su chpasswd , vedere http://linux.die.net/man/8/chpasswd

(Il comando per generare la password era da http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html)


Puoi utilizzare OpenSSL per generare la password casuale (16 caratteri, in questo caso):

# 1000 bytes should be enough to give us 16 alphanumeric ones
p=$(openssl rand 1000 | strings | grep -io [[:alnum:]] | head -n 16 | tr -d '\n')

Quindi fornisci la password con hash a useradd o usermod

# omit the "-1" if you want traditional crypt()
usermod -p $(openssl passwd -1 "$p") <username>

MODIFICA:

Da quando è stato pubblicato questo articolo nel 2012, le versioni più recenti di OpenSSL hanno aggiunto funzionalità al openssl passwd comando. Invece di utilizzare il -1 opzione per ottenere un hash basato su MD5, le versioni moderne supportano anche -5 per hash basati su SHA256 e -6 per hash basati su SHA512.

Credito dovuto:la generazione della password è adattata da un metodo simile che utilizza /dev/urandom invece di openssl .


useradd dovrebbe funzionare (l'ho fatto su Ubuntu). Forse controlla che ciascuno dei tuoi argomenti sia corretto (i gruppi esistono, il percorso è giusto per bash). Puoi eseguire il comando solo con una password e un utente, quindi utilizzare userdel da rimuovere e poi riprovare con più parametri, per vedere quale causa il problema (approccio forza bruta).

C'è anche newusers (vedi la pagina man), almeno sotto Ubuntu, dove gli dai un file con file passwd come informazioni, incluse le password in testo semplice e creerà quegli utenti. Bel modo di fare molti utenti contemporaneamente.


Linux
  1. Come gestire la scadenza e l'invecchiamento della password utente in Linux

  2. Come modificare, rimuovere o disabilitare la password utente in Linux

  3. Come aggiungere un utente Unix/linux in uno script Bash?

  4. Come rendere le password degli utenti visualizzate come testo in chiaro in Linux?

  5. Come posso modificare il gruppo predefinito di un utente in Linux?

Come modificare la password utente in Linux

Come reimpostare la password dell'utente root MySQL in Linux

Come modificare la password utente in Linux

Come modificare la shell utente predefinita nel sistema operativo Linux

Come modificare o impostare la password utente in Linux

Come cambiare utente su Linux