Domanda Esegui adduser in modo non interattivo


Mi piacerebbe usare il adduser comando per aggiungere un utente (con password disabilitata) tramite uno script di shell.

Di default, adduser ti richiede vari valori (ad esempio, il nome completo). C'è un modo per inviare questi valori tramite la riga di comando? O avrò bisogno di useradd anziché?


158
2018-01-09 13:54


origine


dai un'occhiata alla pagina man di adduser. Ti aiuterà. - Zoke
@Zoke Non sono riuscito a trovare le informazioni che stavo cercando nella pagina man. - Lorin Hochstein


risposte:


Usa il --gecos opzione per saltare il chfn parte interattiva.

adduser --disabled-password --gecos "" username

È tutto nella pagina man. Non la formulazione più ovvia che sia.

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

Il campo GECOS è un elenco separato da virgole in quanto tale: Full name,Room number,Work phone,Home phone, nonostante quella pagina man menzioni finger information  Dettagli - Wikipedia

Spero che questo ti aiuti.


213
2018-01-09 14:18



Sì, posso vedere come mi sono perso. "gecos" non è una descrizione ovvia - Lorin Hochstein
+1 --gecos è molto confuso. - Trevor Sullivan


useradd può anche aggiungere utenti e non sembra avere alcuna forma di prompt integrata.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: Crea la directory home dell'utente
  • -p, --password: Specificare la password dell'utente; salta per disabilitarlo
  • -s, --shell: Shell predefinita per l'utente di accesso

    Vuoto utilizzerà la shell di login predefinita specificata da SHELL variabile in /etc/default/useradd

  • Sostituire <user> con il nome di accesso
  • Sostituire <encryptedPassword> con il criptato parola d'ordine

Generazione di una password con hash:

Ci sono Un sacco di implementazioni crypt3 in grado di generare una password con hash. Il tutto è la tua password hash.

Sha-512 Based

Il formato di output risultante: il meccanismo hash ($6 per sha-512), il sale casuale (gli otto byte dopo il secondo segno di dollaro $ASDF1234), resto è il carico utile.

  • mkpasswd mkpasswd -m sha-512

    (mkpasswd è fornito dal whois pacchetto)

Basato sul DES:

Il formato di output risultante: i primi 2 byte sono i tuoi salt, il resto è il payload. Il tutto è la tua password hash.

  • mkpasswd: mkpasswd (fornito da whois pacchetto)
  • OpenSSL: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Scegli il tuo sale a due byte casuale invece di 'sa'

  • pitone: python -c 'import crypt; print crypt.crypt("password", "Fx")'

    /!\ Scegli il tuo sale a due byte casuale invece di "Fx"


28
2017-08-31 18:48



Le opzioni menzionate non esistono per adduser sulla mia (recente) versione di Ubuntu. - ᴠɪɴᴄᴇɴᴛ
@ ᴠɪɴᴄᴇɴᴛ adduser è distinto da useradd, confondendo lo so. - ThorSummoner
Oops, davvero mancato che tu usi il suo quasi omonimo ... non c'è un BDFL che protegge il namespace della riga di comando? ; p - ᴠɪɴᴄᴇɴᴛ
@ mum007 Questo è solo un consiglio generale, prova ad aggiungere -v o -vv o -vvv ai tuoi comandi ssh per vedere cosa è sbagliato e cerca i tuoi messaggi di errore qui su SO o Google. - ThorSummoner
@KovacsAkos prova questo: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config e sudo service ssh restart - JSBach