user anlegen mit script ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 16:29:44

niemand hat geschrieben:Ich weiß nicht, was an der Bedienungsanleitung missverständlich ist:
man useradd hat geschrieben:-p, --password PASSWORT
Das verschlüsselte Passwort, wie es von crypt(3) zurückgegeben wird.
oh , wie kann ich mein 12345 verschlüsseln ?

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 16:39:58

openssl passwd wäre eine Möglichkeit.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 16:44:01

ahh danke aber wieso ist das so ein anderer user ? normal steht vor jedem eingeben ja ein # , hier ist es $ und er kann nichts nutzen , wieso ?

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 16:52:21

Möglicherweise, weil du die entsprechenden Configs nicht in sein ~ kopiert hast, vielleicht auch, weil du ihm nicht die Bash als Shell gegeben hast.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 17:02:51

hmmm

TomL

Re: user anlegen mit script ?

Beitrag von TomL » 15.01.2017 17:28:16

OldGod78 hat geschrieben:hmmm
Leg mal einen User mit

Code: Alles auswählen

adduser user123
an und achte auf die Unterschiede.... der Meldungen und der im Homedir.

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: user anlegen mit script ?

Beitrag von breakthewall » 18.01.2017 21:42:14

OldGod78 hat geschrieben:hallo , ist es möglich per script einen neuen user anzulegen ? die zeile "adduser test" geht ja aber wie mache ich , dass er das passwort für den user dann 2x eingibt ? generell wenn bei einem Befehl eine abfrage kommt wo man was eintippen muss , wie geht das als script ?
Das ist relativ problemlos möglich, aber so etwas ist keine sichere Art und Weise Nutzer anzulegen.

Diese Zeile hier würde das umsetzen was haben willst:

Code: Alles auswählen

echo -e "PASSWORD\nPASSWORD\n" | adduser --quiet --gecos 0000 USERNAME
Zur Erklärung:
Da adduser mehrfache Eingaben untereinander abarbeitet, müssen Passwörter entsprechend zuvor mittels echo und Zeilenumbrüchen übergeben werden. Der Schalter "--gecos" regelt die Informationen über den Nutzer, die adduser beim Erstellen eines neuen Nutzers abfrägt. Und in dem hier ein beliebiger Wert wie "0000" angegeben wird, kann diese Abfrage automatisch übergangen werden.

Eine andere Variante wäre mittels adduser zunächst Nutzer ohne Passwort anzulegen:

Code: Alles auswählen

adduser --quiet --disabled-password USERNAME
Somit ließen sich auch mittels einer for-Schleife, beliebig viele Nutzer anlegen, deren Benutzerkonto zunächst nicht nutzbar ist.

Über das Programm chpasswd, könnte man nun eine Nutzerliste abarbeiten lassen, die allen zuvor erstellten Nutzern ein Passwort oder auch ein individuelles Passwort zuweist.

Damit eine Liste von chpasswd angenommen wird, müssen Nutzernamen und Passwörter untereinander im Format "USERNAME:PASSWORD" vorliegen.

Code: Alles auswählen

for user in USERLIST; do echo "$user" | chpasswd; done
Diese Variante wäre nun praktisch um wirklich viele Nutzer abzuhandeln. Auch um auf einen Schlag alle Nutzer-Passwörter zurückzusetzen, in dem man Passwörter direkt zufallsgeneriert in die Liste schreibt, um sie dann wieder in einem Rutsch an chpasswd zu übergeben. Zusätzlich ließe sich das noch mittels passwd erweitern, in dem die neuen Passwörter als abgeloffen deklariert werden, damit jeder Nutzer nun ein neues Passwort vergeben muss.

Antworten