Führen Sie adduser nicht interaktiv aus

156

Ich möchte den Befehl adduser verwenden, um einen Benutzer (mit deaktiviertem Passwort) über ein Shell-Skript hinzuzufügen.

Standardmäßig fordert adduser Sie zur Eingabe verschiedener Werte auf (z. B. Vollständiger Name). Gibt es eine Möglichkeit, diese Werte über die Befehlszeile zu übermitteln? Oder muss ich stattdessen useradd ?

    
Lorin Hochstein 09.01.2012, 14:54
quelle

2 Antworten

211

Verwenden Sie die Option --gecos , um den interaktiven Teil chfn zu überspringen.

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

Es ist alles auf der Manpage. Nicht die offensichtlichste Formulierung tho.

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

Das GECOS-Feld ist eine kommagetrennte Liste: Full name,Room number,Work phone,Home phone , obwohl die man-Seite finger information Details - Wikipedia

Hoffe das hilft dir.

    
Zoke 09.01.2012, 15:18
quelle
28

useradd kann auch Benutzer hinzufügen und scheint keine eingebaute Eingabeaufforderung zu enthalten.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m , --create-home : Erstellen Sie ein Benutzer-Home-Verzeichnis
  • -p , --password : Geben Sie das Benutzerkennwort
  • an
  • -s , --shell : Standard-Shell für Anmeldebenutzer

    Leer verwendet die Standard-Login-Shell, die von der SHELL -Variable in /etc/default/useradd

    angegeben wird
  • Ersetzen Sie <user> durch den Anmeldenamen
  • Ersetzen Sie <encryptedPassword> durch das verschlüsselte Passwort

Erzeugen eines Hash-Passworts:

Es gibt viele Crypt3-Implementierungen, die einen Hash erzeugen können Passwort. Das Ganze ist Ihr Hash-Passwort.

Sha-512 basiert

Das resultierende Ausgabeformat: der Hash-Mechanismus ( für sha-512), das zufällige Salz (die acht Bytes nach dem zweiten Dollarzeichen $ASDF1234 ), der Rest ist die Nutzlast.

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd wird vom Paket whois bereitgestellt)

DES basiert:

Das resultierende Ausgabeformat: Die ersten 2 Bytes sind Ihr Salz, der Rest ist die Nutzlast. Das Ganze ist Ihr Hash-Passwort.

  • mkpasswd: mkpasswd (bereitgestellt von whois package)
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Wählen Sie Ihr eigenes zufälliges Zwei-Byte-Salz anstelle von 'sa'

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

    /!\ Wählen Sie Ihr eigenes zufälliges Zwei-Byte-Salz anstelle von "Fx"

ThorSummoner 31.08.2015 20:48
quelle

Tags und Links