Esegui adduser in modo non interattivo

157

Vorrei utilizzare il comando adduser per aggiungere un utente (con password disabilitata) tramite uno script di shell.

Per impostazione predefinita, adduser ti richiede vari valori (ad esempio, il nome completo). C'è un modo per inviare questi valori tramite la riga di comando? Oppure dovrei useradd invece?

    
posta Lorin Hochstein 09.01.2012 - 14:54

2 risposte

212

Utilizza l'opzione --gecos per saltare la parte interattiva chfn .

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

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

--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 che la pagina man menzioni finger information Dettagli - Wikipedia

Spero che questo ti aiuti.

    
risposta data Zoke 09.01.2012 - 15:18
28

useradd può anche aggiungere utenti e non sembra che abbia alcuna forma di prompt incorporata.

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

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

  • Sostituisci <user> con il nome di accesso
  • Sostituisci <encryptedPassword> con la password

Generazione di una password con hash:

Ci sono molte di implementazioni crypt3 che possono generare un hash parola d'ordine. Il tutto è la tua password con hash.

Basato su Sha-512

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

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd è fornito dal pacchetto whois )

Basato su DES:

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

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

    /!\ Scegli il tuo sale casuale a due byte anziché 'sa'

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

    /!\ Scegli il tuo sale casuale a due byte anziché "Fx"

risposta data ThorSummoner 31.08.2015 - 20:48

Leggi altre domande sui tag