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:

user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 14:48:49

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 ?

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 14:55:03

Entweder nimmst du useradd und gibst das PW entsprechend mit, oder du nutzt Debianexpect o.Ä..

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

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 15:10:10

niemand hat geschrieben:Entweder nimmst du useradd und gibst das PW entsprechend mit,
wie genau ? das geht nicht :

Code: Alles auswählen

#!/bin/sh
useradd test,12345,12345

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 15:30:48

Die Hilfeausgabe werde ich dir nicht vorlesen.

Apfelmann
Beiträge: 669
Registriert: 15.01.2010 20:48:45
Kontaktdaten:

Re: user anlegen mit script ?

Beitrag von Apfelmann » 15.01.2017 15:43:01

Code: Alles auswählen

man useradd
LG

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

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 15:50:19

Code: Alles auswählen

useradd user -p, --password 12345
damit wird er erstellt aber beim einloggen sagt er PW falsch, hm

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 15:53:04

Du solltest dir wirklich den Hilfetext oder die Manpage durchlesen.

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

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 16:00:58

Apfelmann hat geschrieben:

Code: Alles auswählen

man useradd
LG
da steht nix mit passwort eingeben ...

TomL

Re: user anlegen mit script ?

Beitrag von TomL » 15.01.2017 16:07:49

-p und --password bezeichnen den gleichen Parameter, einmal in Kurzform, einmal in selbsterklärender Langform. Aber Du darfst natürlich nicht beide gleichzeitig verwenden, Du musst Dich für einen entscheiden.

Und was die man-Pages angeht... man kann auch drin suchen. Mit shift-7 bekommt einen Eingabe-Cusor, mit dem man das zu suchende Wort eingeben kann. Mit der Enter-Taste sucht und findet man dann ggf. das erste Ergebnis, mit der Taste 'n' wird das nächste Vorkommen gesucht und -wenn vorhanden- dorthin gesprungen.
Zuletzt geändert von TomL am 15.01.2017 16:14:50, insgesamt 2-mal geändert.

Benutzeravatar
Tintom
Moderator
Beiträge: 3033
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: user anlegen mit script ?

Beitrag von Tintom » 15.01.2017 16:12:00

Ganz luxuriös wird es mit man -Hx-www-browser useradd :wink:

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

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 16:14:19

TomL hat geschrieben:-p und --password bezeichnen den gleichen Parameter, einmal in Kurzform, einmal in selbsterklärender Langform. Aber Du darfst natürlich nicht beide gleichzeitig verwenden, Du musst Dich für einen entscheiden.
hab ich auch probiert auch damit kann ich mich nicht anmelden

TomL

Re: user anlegen mit script ?

Beitrag von TomL » 15.01.2017 16:17:32

OldGod78 hat geschrieben:hab ich auch probiert auch damit kann ich mich nicht anmelden
Ja, weil jetzt vermutlich ein falsches drinsteht. Meld dich als root an, wechsel mit "su derkaputteuser" zum kaputten User und gib ihm mit 'passwd' das richtige Password

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

Re: user anlegen mit script ?

Beitrag von OldGod78 » 15.01.2017 16:21:03

habe den user vorher auch gelöscht , auch mal anderen namen angelegt und geht net.

Code: Alles auswählen

useradd user2 -p 12345

DeletedUserReAsG

Re: user anlegen mit script ?

Beitrag von DeletedUserReAsG » 15.01.2017 16:22:15

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.

TomL

Re: user anlegen mit script ?

Beitrag von TomL » 15.01.2017 16:24:39

OldGod78 hat geschrieben:habe den user vorher auch gelöscht , auch mal anderen namen angelegt und geht net.

Code: Alles auswählen

useradd user2 -p 12345
Wenn "geht net" exakt die Fehlermeldung Deines Debians ist, würde ich vielleicht mal ein Batterie-Ladegerät anschließen oder mit dem Schrottplatz drohen... vielleicht wird Debian dann gesprächiger... :mrgreen: ... alternativ würde ich vorschlagen, Du postest mal die genaue Fehlermeldung..... *fg*

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