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)

