Risposte:
È possibile utilizzare useradd
per impostare tutto, inclusa la password. La password deve essere già crittografata, ma è possibile utilizzare openssl
per creare la password md5 se si desidera solo specificare la password di testo normale:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p $(echo mypasswd | openssl passwd -1 -stdin) username
Tuttavia, potresti voler escluderlo dalla cronologia, se stai utilizzando una password in chiaro nel comando. Puoi anteporre uno spazio prima del comando per escluderlo dalla cronologia. Se stai eseguendo questo comando su molte macchine, potresti semplicemente voler generare una volta la password e usarla direttamente nel comando:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p '$1$NNfXfoym$Eos.OG6sFMGE8U6ImwBqT1' username
Dovresti essere in grado di utilizzare qualcosa del genere:
adduser --uid 3434 --password my_password my_login
Sembra che useradd
crittograferà la password con crypt. Se si preferisce utilizzare un altro metodo (MD5, SHA256, SHA512), è possibile creare l'utente con useradd
e impostare la password con chpasswd
, È possibile eseguire:
useradd <options> && echo username:password | chpasswd --crypt-method=SHA512
Il metodo di crittografia della password predefinito a livello di sistema è impostato in /etc/login.defs nella variabile ENCRYPT_METHOD. &&
causa chpasswd
l'esecuzione solo se la creazione dell'utente con ha useradd
avuto esito positivo (codice di uscita 0)
Un arrivo in ritardo al gioco - RHEL 7.1 - funziona come segue. Crea un utente SUDO, non crittografa la password e accede immediatamente come nuovo utente:
U=youzerneim; P="pswrd"; adduser $U; echo $P | passwd $U --stdin; usermod -aG wheel $U; su - $U
-u
sia necessario, in questo caso, a meno che tu non voglia scegliere un determinato UID.