14.6. Accounts verändern

Unter UNIX® gibt es verschiedene Kommandos, um Accounts zu verändern. Die gebräuchlichsten Kommandos sind unten, gefolgt von einer detaillierten Beschreibung, zusammengefasst.

Kommando Zusammenfassung
adduser(8) Das empfohlene Werkzeug, um neue Accounts zu erstellen.
rmuser(8) Das empfohlene Werkzeug, um Accounts zu löschen.
chpass(1) Ein flexibles Werkzeug, um Informationen in der Account-Datenbank zu verändern.
passwd(1) Ein einfaches Werkzeug, um Passwörter von Accounts zu ändern.
pw(8) Ein mächtiges und flexibles Werkzeug um alle Informationen über Accounts zu ändern.

14.6.1. adduser

adduser(8) ist ein einfaches Programm um neue Benutzer hinzuzufügen. Es erstellt passwd und group Einträge für den Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar vorgegebene Dotfiles aus /usr/share/skel und kann optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken.

Beispiel 14-1. Einen Benutzer unter FreeBSD anlegen

# adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
#

Anmerkung: Wenn Sie das Passwort eingeben, werden weder Passwort noch Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort korrekt eingeben.

14.6.2. rmuser

Benutzen Sie rmuser(8), um einen Account vollständig aus dem System zu entfernen. rmuser(8) führt die folgenden Schritte durch:

  1. Entfernt den crontab(1) Eintrag des Benutzers (wenn dieser existiert).

  2. Entfernt alle at(1) jobs, die dem Benutzer gehören.

  3. Schließt alle Prozesse des Benutzers.

  4. Entfernt den Benutzer aus der lokalen Passwort-Datei des Systems.

  5. Entfernt das Heimatverzeichnis des Benutzers (falls es dem Benutzer gehört).

  6. Entfernt eingegangene E-Mails des Benutzers aus /var/mail.

  7. Entfernt alle Dateien des Benutzers aus temporären Dateispeicherbereichen wie /tmp.

  8. Entfernt den Loginnamen von allen Gruppen, zu denen er gehört, aus /etc/group.

    Anmerkung: Wenn eine Gruppe leer wird und der Gruppenname mit dem Loginnamen identisch ist, wird die Gruppe entfernt; das ergänzt sich mit den einzelnen Benutzer-Gruppen, die von adduser(8) für jeden neuen Benutzer erstellt werden.

Der Superuser-Account kann nicht mit rmuser(8) entfernt werden, da dies in den meisten Fällen das System unbrauchbar macht.

Als Vorgabe wird ein interaktiver Modus benutzt, der sicherzustellen versucht, dass Sie wissen, was Sie tun.

Beispiel 14-2. Interaktives Löschen von Account mit rmuser

# rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Updating password file, updating databases, done.
Updating group file: trusted (removing group jru -- personal group is empty) done.
Removing user's incoming mail file /var/mail/jru: done.
Removing files belonging to jru from /tmp: done.
Removing files belonging to jru from /var/tmp: done.
Removing files belonging to jru from /var/tmp/vi.recover: done.
#

14.6.3. chpass

chpass(1) ändert Informationen der Benutzerdatenbank wie Passwörter, Shells und persönliche Informationen.

Nur Systemadministratoren, mit Superuser-Rechten, können die Informationen und Passwörter der anderen Benutzer mit chpass(1) verändern.

Werden keine Optionen neben dem optionalen Loginnamen angegeben, zeigt chpass(1) einen Editor mit Account-Informationen an und aktualisiert die Account-Datenbank, wenn dieser verlassen wird.

Anmerkung: Unter FreeBSD wird nach dem Verlassen des Editors nach dem Passwort gefragt, es sei denn, man ist als Superuser angemeldet.

Beispiel 14-3. Interaktives chpass des Superusers

#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Der normale Benutzer kann nur einen kleinen Teil dieser Informationen verändern und natürlich nur die Daten des eigenen Accounts.

Beispiel 14-4. Interaktives chpass eines normalen Benutzers

#Changing user database information for jru.
Shell: /usr/local/bin/tcsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Anmerkung: chfn(1) und chsh(1) sind nur Verweise auf chpass(1) genauso wie ypchpass(1), ypchfn(1) und ypchsh(1). NIS wird automatisch unterstützt, deswegen ist es nicht notwendig das yp vor dem Kommando einzugeben. NIS wird später in Kapitel 30 besprochen.

14.6.4. passwd

passwd(1) ist der übliche Weg, Ihr eigenes Passwort als Benutzer zu ändern oder das Passwort eines anderen Benutzers als Superuser.

Anmerkung: Um unberechtigte Änderungen zu verhindern, muss bei einem Passwortwechsel zuerst das ursprüngliche Passwort eingegeben werden.

Beispiel 14-5. Wechseln des Passworts

% passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done

# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Beispiel 14-6. Als Superuser das Passwort eines anderen Accounts verändern

# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Anmerkung: Wie bei chpass(1) ist yppasswd(1) nur ein Verweis auf passwd(1). NIS wird von jedem dieser Kommandos unterstützt.

14.6.5. pw

pw(8) ist ein Kommandozeilenprogramm, mit dem man Accounts und Gruppen erstellen, entfernen, verändern und anzeigen kann. Dieses Kommando dient als Schnittstelle zu den Benutzer- und Gruppendateien des Systems. pw(8) besitzt eine Reihe mächtiger Kommandozeilenschalter, die es für die Benutzung in Shell-Skripten geeignet machen, doch finden neue Benutzer die Bedienung des Kommandos komplizierter, als die der anderen hier vorgestellten Kommandos.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.