User: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
(35 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{HSDoku-Links}}
{{HSDoku-Links}}


'''[[hsadmin]] ist aktiv !!''' Bitte zur Userverwaltung dieses Kommandozeilen-Interface verwenden.
{{Baustelle}}


Welche verschiedenen User gibt es, welche Rechte haben sie? Wie legt man neue User/Accounts an oder bearbeitet sie? Wie ändert man sein Passwort?
{{Kerndoku|https://doc.hostsharing.net/users/administration/hsadmin/index.html}}


== [[User Typen|Rechte]] ==
== Passwort ändern mit dem Programm passwd ==


Bei Hostsharing werden grundsätzlich verschiedene Arten von Usern unterschieden. Die Art des jeweiligen Users legt fest, welche Rechte auf dem System gewährt werden, bzw. beeinflußt die Rechnungsstellung (Multi-Pakete, ...).
Das Passwort eines Users wird nicht in der hsadmin-Datenbank gespeichert, sondern in der Konfiguration des jeweiligen [[Hive]], auf dem das zugehörige [[Paket]] liegt. Daher kann es ''auch'' mit dem gängigen [[Shell]]-Befehl '''passwd''' geändert werden.
 
Die User und ihre Eigenschaften und Besonderheiten werden im Unterabschnitt [[User Typen]] erläutert.
 
== User Anlegen==
 
Einen neuen User anlegen, z.B: Mailaccounts oder Domain-Admins
 
Der Paketadmin kann neue Paketuser auf verschiedene Arten anlegen:
 
* Mit [[hsadmin]]
* mit dem Programm newuser
 
=== User anlegen mit newuser ===
 
Die Syntax des Befehls newuser sieht folgendermaßen aus:
 
newuser [-c comment] [--nowait] username password [shell]
 
==== Parameter ====
 
Obligatorisch sind der Benutzername und ein Passwort.
Kommentar [-c "comment"]
 
Ein erklärender Kommentar ist optional. Wird keiner angegeben, bekommt der neue User den Eintrag xyz00-username comment.
Login-Shell ([shell])
 
Mit dem Parameter shell wird eingestellt, ob der User ein Shell-User (mit interaktiver Shell), ein Mail- oder ein FTP-User ist. Die verschiedenen Möglichkeiten sind auf der Seite über Benutzerrechte beschrieben. Wird keine Loginshell angegeben, wird der neue User zu einem Mailuser mit der Shell /usr/bin/passwd, das heißt, er kann dann nur sein Passwort ändern.
 
==== nowait ====
 
Mit dem Parameter --nowait kann das Passwort direkt beim Aufruf von newuser übergeben werden. In diesem Fall wird der neue Benutzer von newuser über die ~/etc/passwd-Datei des Paketadmins angelegt. Es ist somit prinzipiell das gleiche Vorgehen wie beim manuellen Editieren dieser Datei. newuser schreibt sofort die Daten in die Datei ~/etc/passwd, wird wieder beendet und der Benutzer wird nach einigen Minuten angelegt.
 
Diese Variante hat ein Sicherheitsproblem: Das Passwort erscheint im Klartext in der Prozessliste.
 
==== Passwort ====
 
Wird statt eines Passwortes der Parameter - gesetzt, dann wird der Paketadmin von newuser nach dem Passwort des neuen Users gefragt. In diesem Fall darf der Parameter --nowait selbstverständlich nicht gesetzt sein.
 
Der neue Benutzer wird direkt angelegt und kann anschließend sofort verwendet werden. Da er aber erst automatisch in die sudo-Konfiguration eingepflegt werden muss, kann der Identitätswechsel durch den Paketadmin per sudo erst nach ein paar Minuten durchgeführt werden.
 
==== Einige Beispiele: ====
 
  newuser --nowait bond asdf
 
  newuser --nowait bond asdf /bin/bash
 
  newuser bond - /bin/bash
 
  newuser -c "James Bond" bond -
 
=== User anlegen mit [[hsadmin]] ===
 
Damit die Entwickler und Hostmaster, sich auf einen Punkt nach dem anderen konzentrieren können, ist zur Zeit nur die Bedienung per Kommandozeile freigeschaltet. Das Kommandozeilen-Programm ist dabei generisch für alle zu verwaltenden Module. Bezüglich der Benutzerverwaltung wird es wie folgt bedient (die meisten Befehle machen nur für die Paket-Administratoren Sinn):
 
<pre>
hsadmin - <<EOF
--call:user.add
--set:password=...
--set:name=xyz00-test
--set:shell=/bin/bash
EOF
</pre>
 
Hierbei wird zum einen die Langform der Optionen (--set: statt -s) verwendet, zum anderen ein temporäres Respose-File, damit das Passwort nicht über die Kommando-Zeile in der Prozessliste landet - wo es alle einsehen könnten. Beim Response-File muss exakt ein Parameter je Zeile angegeben werden, d.h. bei der Kurzform so:
 
<pre>
-c
user.add
-s
shell=/bin/bash
</pre>
 
== User verwalten mit hsadmin ==
 
=== Die Datenfelder aller sichtbaren UNIX-User auflisten ===
 
  hsadmin -c user.search
 
==== Dabei bedeutet im Einzelnen: ====
 
{|class="wikitable"
|- class="hintergrundfarbe5"
!Feld !!Beschreibung
|-
|name:||Der Login-Name, der derzeit für POP3, FTP und SSH/Telnet verwendet werden kann. Dieser Name muss IMMER mit der Paket-ID + '-' anfangen, also z.B. xyz00-otto. Ein "-" im Namen ist nur direkt hinter dem Paket erlaubt. Als Trenner kann ein Punkt (.) verwendet werden. Der Name kann nachträglich nicht geändert werden.
|-
|id:||Relevant für die interne Verwaltung. Kann nicht geändert werden.
|-
|comment:||Hier kann man den realen Namen des Users eintragen, also z.B. Otto Meier.
|-
|password:||Leer, weil das Passwort nicht angezeigt wird.
|-
|pac:||Dieses Feld nennt den Paketnamen. Kann nicht geändert werden.
|-
|hivename:||Die ID des hives, auf dem sich Paket und User befinden. kann nicht geändert werden.
|-
|userid:||Relevant für die interne Verwaltung. Kann nicht geändert werden.
|-
|shell:||Dieses Feld enthält den kompletten Pfad der Login-Shell. Es sind nur wenige Shells möglich, i.d.R. wird man hier /usr/bin/passwd (damit kann der Domainuser sein Passwort jederzeit per ssh oder telnet beliebig ändern) /bin/bash (für vollen ssh/telnet-Zugang) oder /bin/badsh (für FTP-only) setzen. Man kann auch z.B. bin/false angeben, dann kann der User selbst gar nichts machen (außer FTP usw. natürlich)
|-
|homedir:||Dies ist das Homedirectory des Users. Es wird immer automatisch gesetzt.
|}
 
 
Die Datenfelder name, comment und shell mit ":" getrennt ausgeben:
 
  hsadmin -c user.search -d '${name}:${comment}:${shell}\n'
 
=== Die Shell eines UNIX-Users ändern ===
 
  hsadmin -c user.update -s shell=/usr/bin/passwd xyz00-test
 
=== Das Passwort eines UNIX-Users ändern ===
 
  echo '--set:password=...' | hsadmin -c user.update xyz00-test -
 
=== Einen UNIX-User löschen ===
 
  hsadmin -c user.delete xyz00-test
 
== Passwort ändern ==
 
Eine Änderung des Passwortes geht dem Befehl passwd:


<pre><nowiki>
xyz00@hopi:~$ passwd
xyz00@hopi:~$ passwd


Changing password for mi
Changing password for mi
(current) UNIX password: ALTESPASSWORT
(current) UNIX password: ALTESPASSWORT
Enter new UNIX password: NEUESPASSWORT
Enter new UNIX password: NEUESPASSWORT
Retype new UNIX password: NEUESPASSWORT
Retype new UNIX password: NEUESPASSWORT
passwd: password updated successfully
passwd: password updated successfully


xyz00@hopi:~$ █
xyz00@hopi:~$ █
</nowiki></pre>


Die Platzhalter NEUESPASSWORT und ALTESPASSWORT müssen dabei selbstverständlich gegen die entsprechenden Passworte ausgetauscht werden. Dabei sollte jedes Passwort mindestens 6 Zeichen lang sein, besser 8 Zeichen, und aus Buchstaben, Ziffern und ggf. Sonderzeichen bestehen. Allerdings sollte auf Umlaute verzichtet werden, da diese je nach verwendetem Zugangsweg nicht verwendet werden könnten.
Die Platzhalter NEUESPASSWORT und ALTESPASSWORT müssen dabei selbstverständlich gegen die entsprechenden Passworte ausgetauscht werden. Dabei sollte jedes Passwort mindestens 6 Zeichen lang sein, besser 8 Zeichen, und aus Buchstaben, Ziffern und ggf. Sonderzeichen bestehen. Auf Umlaute sollte verzichtet werden, da die Verwendung nicht mit allen Zugangswegen kompatibel ist.


Ggf. kommt es zu Fehlermeldungen, z.B. wenn das neue Passwort zu simpel ist, oder bei der Wiederholung nicht identisch mit dem ersten Passwort ist. In dem Fall, den Vorgang einfach wiederholen. Solange das neue Passwort nicht erfolgreich übernommen wurde, bleibt das alte gültig.
Ggf. kommt es zu Fehlermeldungen, z.B. wenn das neue Passwort zu simpel ist, oder bei der Wiederholung nicht identisch mit dem ersten Passwort ist. In dem Fall, den Vorgang einfach wiederholen. Solange das neue Passwort nicht erfolgreich übernommen wurde, bleibt das alte gültig.


Es gibt User, denen der Paket-Admin nur das Recht eingeräumt hat, das eigene Passwort zu ändern, indem er ihnen die "Shell" /usr/bin/passwd zugewiesen hat. Diese User können durch einen Shell-Login nur ihr Passwort ändern, da das Programm passwd an Stelle einer Shell gestartet wird. Sie werden nach dem Einloggen automatisch auf diesen Dialog geführt.Mehr dazu unter User Rechte.
Es gibt User, denen der Paket-Admin nur das Recht eingeräumt hat, das eigene Passwort zu ändern, indem er ihnen die "Shell" /usr/bin/passwd zugewiesen hat. Diese User können durch einen Shell-Login nur ihr Passwort ändern, da das Programm passwd an Stelle einer Shell gestartet wird. Sie werden nach dem Einloggen automatisch auf diesen Dialog geführt.
 
== Identiätswechsel ==


Jeder kann jedem User mit sudo und passwd ein neues Passwort verpassen, wenn er eine Berechtigung für sudo besitzt und das aktuelle Passwort weiß.
Der Paketadmin kann mit
sudo -u xyz00-user -i
die Rechte eines seiner Paketuser annehmen, ohne dessen Passwort kennen zu müssen. Für Paketuser, die als initiale shell nur /bin/passwd eingetragen haben ist
sudo -u xyz00-user -s
zu verwenden, um in eine reguläre Shell zu kommen. Mit
"su xyz00-user"
ist auch regulären Benutzern ein Identitätswechel (z.B. zum Paketadmin) möglich, wenn sie das aktuelle Passwort des Zielaccounts kennen.


----
----
[[Kategorie:HSDoku]]
[[Kategorie:HSDoku]]
[[Kategorie:User]]
[[Kategorie:User]]
[[Kategorie:Hsadmin]]
[[Kategorie:Glossar]]
[[Kategorie:Einstieg bei Hostsharing]]

Version vom 13. Dezember 2016, 09:26 Uhr


Diese Seite muss überarbeitet werden

Diese Seite wurde als Baustelle gekennzeichnet, weil sie überarbeitet werden muss. Eine Begründung dafür findest du auf der Diskussionsseite. Bitte hilf mit, diese Seite zu verbessern!


Dieses Thema in der technischen Dokumentation (Kerndoku)

https://doc.hostsharing.net/users/administration/hsadmin/index.html



Passwort ändern mit dem Programm passwd

Das Passwort eines Users wird nicht in der hsadmin-Datenbank gespeichert, sondern in der Konfiguration des jeweiligen Hive, auf dem das zugehörige Paket liegt. Daher kann es auch mit dem gängigen Shell-Befehl passwd geändert werden.

xyz00@hopi:~$ passwd

Changing password for mi
(current) UNIX password: ALTESPASSWORT
Enter new UNIX password: NEUESPASSWORT
Retype new UNIX password: NEUESPASSWORT
passwd: password updated successfully

xyz00@hopi:~$ █

Die Platzhalter NEUESPASSWORT und ALTESPASSWORT müssen dabei selbstverständlich gegen die entsprechenden Passworte ausgetauscht werden. Dabei sollte jedes Passwort mindestens 6 Zeichen lang sein, besser 8 Zeichen, und aus Buchstaben, Ziffern und ggf. Sonderzeichen bestehen. Auf Umlaute sollte verzichtet werden, da die Verwendung nicht mit allen Zugangswegen kompatibel ist.

Ggf. kommt es zu Fehlermeldungen, z.B. wenn das neue Passwort zu simpel ist, oder bei der Wiederholung nicht identisch mit dem ersten Passwort ist. In dem Fall, den Vorgang einfach wiederholen. Solange das neue Passwort nicht erfolgreich übernommen wurde, bleibt das alte gültig.

Es gibt User, denen der Paket-Admin nur das Recht eingeräumt hat, das eigene Passwort zu ändern, indem er ihnen die "Shell" /usr/bin/passwd zugewiesen hat. Diese User können durch einen Shell-Login nur ihr Passwort ändern, da das Programm passwd an Stelle einer Shell gestartet wird. Sie werden nach dem Einloggen automatisch auf diesen Dialog geführt.

Identiätswechsel

Der Paketadmin kann mit

sudo -u xyz00-user -i

die Rechte eines seiner Paketuser annehmen, ohne dessen Passwort kennen zu müssen. Für Paketuser, die als initiale shell nur /bin/passwd eingetragen haben ist

sudo -u xyz00-user -s

zu verwenden, um in eine reguläre Shell zu kommen. Mit

"su xyz00-user"

ist auch regulären Benutzern ein Identitätswechel (z.B. zum Paketadmin) möglich, wenn sie das aktuelle Passwort des Zielaccounts kennen.