# einfache Shell-Script-Befehle



## Deadshadow (30. Juni 2005)

Hi,

ich will ein paar Shell-Scripte schreiben wie z.B. einen Benutzer mit Passwort erstellen und so. Also ganz bananle Sachen. 
Wenn ich in Büchern oder im Internet (auch hier in den Tutorials) gehts gleich darum ein extrem kompliziertes Programm zu coden. 
Ich müsste einen wichtigen Tipp haben, auf was ich besonders achten muss und was ich vorallem suche ist, wie man eine Variable einliest. Also so, dass ich das Script ausführe, und dann "Geben Sie den Benutzername ein" und "Geben Sie das Passwort ein" kommt, ich das eintippe und es im Script so erstellt wird. 
Es ist wirklich banal, wahrscheinlich zu banal um irgendwo im Internet zu stehen 

thx


----------



## Iceman8712 (30. Juni 2005)

ich weiss auch nicht auf anhieb wie das funktioniert, aber ich hätte dir mal http://www.google.ch/linux, da findest du glaube ich solche shell scripts... ich hoffe dass nützt dir etwas.... greets


----------



## Deadshadow (30. Juni 2005)

Hm, Iceman... 
Naja, hab einen Lösungsansatz gefunden.
Sieht etwa so aus:

```
echo "Bitte einen Benutzername eingeben:"
read name
useradd $name
```
aber nun muss ich noch das Passwort setzen. Für das muss ich wohl eine Entertaste simulieren können oder so. 
Bin dankbar für weitere Hilfe, 

thx


----------



## deepthroat (30. Juni 2005)

Das mit dem Passwort wird aber so einfach nicht gehen, da useradd (aus Sicherheitsgründen) nur direkt vom TTY (also vom Terminal oder der Konsole) liest und du somit das Password nicht übergeben kannst.

Außer du simulierst ein TTY für useradd, da kannst du ja dann kontrollieren was eingegeben wird. Oder du benutzt die "-p passwd" Option von useradd. Da mußt du allerdings ein durch die C Funktion crypt erzeugtes Passwort übergeben, das heißt du mußt erstmal ein Programm erstellen, welches das Passwort aus deinem Shellskript in ein solches überführt.


----------



## RedWing (1. Juli 2005)

Er will das Passwort doch so oder so von stdin einlesen.
Also wieso nicht gleich:


```
#! /bin/bash
echo "Bitte einen Benutzername eingeben:"
read name
useradd $name
passwd $name
```

Gruß

RedWing


----------



## Ben Ben (2. Juli 2005)

Naja aber Progs wie ssh / scp lassen sich unter normalen Umständen das PW nicht mitgeben, hier würde dann expect helfen...


----------



## Matthias Reitinger (2. Juli 2005)

Der „Kofler“ bietet meiner Meinung nach eine gute Einführung in die Thematik der Shellscripte.


----------

