User: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
{{HSDoku-Links}} | |||
{{Bald veraltet}} | {{Bald veraltet}} | ||
Version vom 20. März 2009, 02:13 Uhr
Einstieg |
Hsadmin |
Pakete |
User |
Domains |
Cron |
Logging |
E-Mail |
WWW
Datenbanken |
Backup & Restore |
Installationsanleitungen |
FAQ |
Bugtracker
Bald veraltet
Wird sich mit hsadmin ändernWelche verschiedenen User gibt es, welche Rechte haben sie? Wie legt man neue User/Accounts an oder bearbeitet sie? Wie ändert man sein Passwort?
Rechte
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, ...).
Die User und ihre Eigenschaften und Besonderheiten werden im Unterabschnitt User Typen erläutert.
Anlegen
Einen neuen User anlegen, z.B: Mailaccounts oder Domain-Admins
Mailaccounts bzw. Domainadmins einrichten
Der Paketadmin kann neue Paketuser auf verschiedene Arten anlegen:
- mit dem Programm newuser
- durch Editieren der ~/etc/passwd
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 -
Editieren der Datei etc/passwd
Neben dem Programm newuser kann der Paketadmin einen neuen User anlegen, indem er die in der Datei ~/etc/passwd eine neue Zeile anfügt. Jede Zeile entspricht einem User.
Beispiel für einen Neueintrag:
xyz00-doms:PASSWORT:::xyz00 Domain-Account::/usr/bin/passwd
Zu beachten ist, dass nur Einträge übernommen werden, bei denen das Passwort-Feld, dieses ist das zweite mit ":" abgetrennte Feld, belegt ist. Sollen also Einträge nachträglich bearbeitet werden, muss i.d.R. ein neues Passwort vergeben werden, da dem Paket-Admin das mittlerweile vom User veränderte Passwort vielleicht nicht bekannt sein dürfte.
Nach dem Abspeichern der Datei dauert es maximal 5 Minuten bis der neue Account aktiviert ist, das Kommando newuser wartet solange. Danach ist das Passwort aus der Datei verschwunden und mit den anderen Daten in die zentrale User-Verwaltung aufgenommen. Die Felder zwischen den :: sind nach Aktivierung des Accounts ebenfalls ausgefüllt, deren Werte sind immer fest vorgegeben.
Dieses Verfahren wird auch von newuser --nowait verwendet.
User ändern oder löschen
Diese Einstellungen werden in der Datei etc/passwd vom Paketadmin vorgenommen.
Die Berechtigungen der Datei müssen so aussehen (nur der Besitzer xyz00 darf die Datei lesen und schreiben):
xyz00@hopi:~$ls -l etc/passwd -rw------- 1 xyz00 xyz00 380 Jan 1 00:00 etc/passwd
Falls da nicht -rw------- steht, müssen die Berechtigungen richtig gesetzt werden:
xyz00@hopi:~$chmod 600 etc/passwd
In der Datei steht jede Zeile für einen User. Will man also den Eintrag eines Users ändern, ändert man einfach die entsprechende Zeile. Wichtig ist, dass das Passwort des Users an der Passwortstelle (zwischen erstem und zweitem Doppelpunkt) steht, auch bei Änderungen, ggf. muss man als Paket-Admin ein neues Passwort vergeben und dies dem User mitteilen. Beispiel:
- xyz00-user:password:uid:gid:real-name:home-directory:login-shell
- xyz00-otto:password:::/home/pacs/xyz00/users/xyz00:Otto::/bin/bash
xyz00-bond:::508:James Bond:/home/pacs/xyz00/users/bond:/bin/bash
Zeilen mit # am Anfang sind Kommentare die nicht beachtet werden. Syntax
Das Format der Einträge (Zeilen) in etc/passwd ist so aufgebaut:
login:password:uid:gid:name:home:shell
Dabei bedeutet im Einzelnen:
Feld
Syntax
Beschreibung
login:
<nobr>^$PAC-[^: -][^: -]*</nobr>
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.
Der Name kann nachträglich nicht geändert werden. Wenn ihr das versucht, dann wird ein neuer zusätzlicher Account angelegt.
password:
()|([^:][^:]*)
Hier gibt man das Passwort im Klartext an. Dies ist nützlich, wenn man neue User anlegt oder ein User sein Passwort vergessen hat. Achtung: dieses Feld wird automatisch wieder gelöscht.
uid:
[^:]*
Dieses Feld beinhaltet normalerweise die User-Id. Dieses Feld wird ignoriert und immer automatisch geleert.
gid:
[^:]*
Diese Feld beinhaltet normalerweise die Group-Id des Pakets. Es wird automatisch gesetzt.
name:
[^:]*
Hier kann man den realen Namen des Users eintragen, also z.B. Otto Meier.
home:
[^:]*
Dies ist das Homedirectory des Users. Es wird immer automatisch gesetzt.
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)
Die Änderungen werden innerhalb von 5 Minuten aktiv. Fehlermeldungen in ~xyz00/var/config.err des zuständigen Paketadmin.
Shell Ändern: Die Shell kann man auch auf anderem Wege ändern, nämlich indem man mit sudo in den Account des Users wechselt und mit dem Kommando chsh die shell ändert. Dazu braucht man weder das Passwort zu wissen noch zu ändern, und der User kann das auch selber tun, ohne seinen PaketAdmin zu bemühen. Paketuser löschen:
Die entsprechende Zeile des Users aus etc/passwd löschen. Das Homeverzeichnis des Paketusers wird damit ebenfalls gelöscht, Sicherungen stehen in /home/trash/ (zur Wiederherstellung siehe Backup & Restore)
Passwort ändern
User-Accounts bearbeiten mit der Datei etc/passwd. Eine Änderung des Passwortes geht dem Befehl passwd:
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.
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ß.