User

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Diese Seite beschreibt die User-Verwaltung im Hostsharing-System mit Hilfe des Befehlszeilenprogramms hsadmin.

Es gibt bei Hostsharing unterschiedliche Arten von Benutzern siehe Seite User-Arten . Die Art eines Users bestimmt welche Rechte ihm auf dem System gewährt werden und beeinflußt ggf. die Rechnungsstellung.

User bearbeiten mit hsadmin (CLI)

Einen neuen User anlegen oder berabeiten, z.B: Mailaccounts oder Domain-Admins

User anlegen

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):

Zunächst hsadmin einmal aufrufen, damit das Passwort abgefragt wird und hsadmin temporär freigeschaltet wird.

hsadmin -c user.search

Dann den User anlegen. Im folgendem wird die Langform der Optionen (--set: statt -s) und ein temporäres Respose-File verwendet. Durch eingabe der Optionen in das Response-File landet das Passwort nicht in der Kommando-Zeile und damit in der Prozessliste - wo es alle einsehen könnten.

hsadmin - <<EOF
--call:user.add
--set:password=...
--set:name=xyz00-test
--set:shell=/bin/bash
EOF


Im Response-File muss exakt ein Parameter je Zeile angegeben werden. In der Kurzform also so:

-c
user.add
-s
password=...
-s
name=xyz00-test
-s
shell=/bin/bash

Die Datenfelder aller sichtbaren UNIX-User auflisten

 hsadmin -c user.search

Bedeutung der Datenfelder

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". (Auf neu aufgeschalteten Domains erscheint dieses Feld bei "Diese neue Website wurde gerade bei der Hostsharing eG für ... eingerichtet".)
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 mit dem Programm passwd

Da das Passwort eines Users nicht in der hsadmin-Datenbank gespeichert wird, sondern in der Konfiguration des Hive, auf dem das zugehörige Paket liegt, 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. Allerdings sollte auf Umlaute verzichtet werden, da diese je nach verwendetem Zugangsweg nicht verwendet werden könnten.

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.

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.