# User über Konsole verwalten



## NetBull (23. November 2010)

Hallo Leute, 

ich arbeite mit gerade in Linux ein, damit ich meinen Server besser im Griff habe. 

Aktuell Benutzerverwaltung über Konsole.

Wenn ich 
	
	
	



```
useradd testuser2 -pmeinpass
```
 eingebe, dann wird ein Benutzer testuser2 mit dem Passwort meinpass angelegt. 
Aber ich kann mich danach mit diesem User nicht anmelden. Warum nicht und was muss ich noch machen damit er sich anmelden kann?

cu deAndro


----------



## deepthroat (23. November 2010)

Hi.

Hast du mal die Manpage gelesen.

Da steht das meinpass ein verschlüsseltes Passwort sein muss. (durch die crypt Funktion erzeugt)

Gruß


----------



## NetBull (23. November 2010)

Manpage, stimmt da war so was. Hab grad mal reingeschaut. 
Bin aber mit der Art wie Linux-Hilfen aufgebaut sind noch nicht vertraut *lächel* 
Bisher habe ich nur Windows benutzt. Das soll sich ändern. 

Tip für mich wie der adduser Befehl aussehen soll und wie ich den Benutzer danach in eine Gruppe lege?


----------



## NetBull (23. November 2010)

OK, das Passwort steht nun im Klartext in der Shadow Datei und das darf es sicher nicht. 
Wie erzeugt man einen Benutzer mit Passwort wo dieses gleich verschlüsselt ist?


----------



## Matt297 (24. November 2010)

Vermutlich geht das auch irgendwie über ne crypt-Funktion bzw. ein Programm, aber man sollte generell vermeiden das Passwort als Klartext sichtbar in der Konsole einzugeben.
Ich würde dir vorschlagen es so zu tun, du erstellst erst den user ohne Password zu erstellen("useradd einuser"). Dann tippst du als root(bzw. mit "sudo") den Befehl "passwd einuser" ein. Dort wirst du aufgefordert ein neues Passwort für den User zu setzen und zwar ohne dass es sichtbar ist.

Gruß
Matt


----------



## Bratkartoffel (24. November 2010)

Hi,

folgender Befehl erzeugt ein Passwort, dass du direkt in die shadow einbauen kannst.

```
echo -n "PASSWORT" | mkpasswd -s -m md5
```

Ich denke, dass du sogar jedem Benutzer einen anderen Hashing-Algorithmus geben kannst, die verfügbaren siehst du mit folgenden Befehl:

```
mkpasswd -m help
```

Das liefert bei mir folgendes, eventuell sieht es bei dir anders aus:

```
Available methods:
des	standard 56 bit DES-based crypt(3)
md5	MD5
sha-256	SHA-256
sha-512	SHA-512
```



Matt297 hat gesagt.:


> Vermutlich geht das auch irgendwie über ne crypt-Funktion bzw. ein Programm, aber man sollte generell vermeiden das Passwort als Klartext sichtbar in der Konsole einzugeben.[...]


Dem kann ich nur zustimmen...

Gruß
BK


----------



## NetBull (24. November 2010)

Hi, 

OK, grundsätzlich ist klar das man so nicht vorgeht. Hat mich nur interessiert, lerne gerade Linux und hoffe das ich dann meinen Server besser verstehe. 

Kann ichdas System nicht so einstellen, das jeder neu erzeugte Benutzer ein Standard-Passwort bekommt und dieses dann selber neu setzen muss, bei der ersten Anmeldung? So das ich an der Konsole jederzeit neue Benutzer erzeuge, die sich dann mit standard passwort anmelden können?

LG deAndro


----------



## Bratkartoffel (24. November 2010)

Hi,

wenn du ein wenig Perl kannst, dann kannst du dir ja das Script "/usr/sbin/adduser" anschauen und modifizieren so dass ein Passwort mitgespeichert wird.
Oder du schreibst dir selbst einen Wrapper, zum Beispiel ein kleines Shellscript 

Gruß
BK


----------



## dfd1 (24. November 2010)

Salut

Wie schon von anderen geschrieben ist die Manpage in der Regel relativ hilfreich, wenn auch ganz anders aufgebaut als die Windows-Hilfe...

Aber kurzum: Generell wird dies in zwei Schritten  gemacht. Zuerst wird der User angelegt, mit allen Einstellungen, und anschliessend wird das Passwort festgelegt.

Der Grund ist in etwa der, dass ein User ohne Passwort sich nicht so direkt anmelden kann, und ein Administrator unter Umständen zuerst diverse Scripts, Verzeichnisse und Links (Ordner- und Dateilinks, nicht mit URL zu verwechseln) anpassen will/darf/muss.

Der erste Schritt ist, wie du schon herausgefunden hast, der Befehl 

```
useradd [options] LOGIN
```

Die Passwortänderung geschieht mit dem Befehl

```
passwd [options] [LOGIN]
```
Wenn Login leergelassen wird, wird das Passwort des aktuellen Benutzers geändert.

Zu useradd noch ein paar (vorallem als Neueinsteiger wichtige) Informationen:

Unter Windows wird ja in der Regel beim erstellen eines Benutzers ein eigenes Verzeichnis angelegt. Unter Unix/Linux definiert der Administrator (root) wie das genau aussieht.

Ein fiktives Beispiel:
Wir wollen einen Benutzer _jon_ mit dem vollen Namen _John Doe_ im und dem Benutzerverzeichnis _/home/jon_ in der Gruppe users erstellt werden.  Das Homeverzeichnis soll gleich angelegt werden (mit allen benötigten Berechtigungen). Das Passwort soll _jondoe123_ sein.

Folgende Befehle als root:

```
useradd -d /home/jon -m -g users -c "John Doe" jon
passwd jon
```

passwd wird dich 2x nach dem Passwort fragen. Das Passwort ist nicht ersichtlich.


----------



## NetBull (17. Dezember 2010)

ok, ich glaub ich sollte mal schauen ob ich in einem Kurs nicht erst noch mal die Basis auffrische... Irgendwie ist mir nicht wohl bei dem Gedanken das ich meinen Server mit den wenigen Kenntnissen administriere....


----------

