Gruppenarbeit

Der Aufbau der Datei /etc/group ähnelt jenem der Dateien /etc/passwd und /etc/shadow, doch enthält sie weniger Felder. Das erste davon gibt den Namen der Gruppe an, gefolgt von einem Token, ähnlich wie in der Passwd-Datei. Das dritte Feld zeigt die GID, und das letzte Feld enthält eine durch Kommas getrennte Liste von Konten in dieser Gruppe. Enthält die Datei /etc/passwd für einen Benutzer eine GID, heißt dies nicht zwingend, dass eine Mitgliedschaft in der entsprechenden Gruppe in /etc/group vorliegt.

Es gibt eine Reihe von Tools, um die Benutzerkonten im System näher zu untersuchen. Das einfachste Werkzeug diese Art ist das Tool finger, das Sie einfach mit einem Benutzernamen als Argument aufrufen. Es liefert dann eine ganze Reihe von Informationen in einem Überblick zurück (Listing 2).

Listing 2

# finger msimmons
Login: msimmons                         Name: Matt Simmons
Directory: /home/msimmons               Shell: /bin/bash
Last login Sun Nov  8 14:51 (EST) on pts/2 from centos
No mail.
No Plan.

Die Informationen über den Benutzer stellt das System mithilfe der bereits besprochenen Dateien zusammenstellt. Darüber hinaus zieht es noch einige Logs sowie Dateien im Benutzerverzeichnis der Person heran. In der Vergangenheit war es üblich über finger nicht nur Informationen über einen lokalen Benutzer abzurufen, sondern auch eine Verbindung zu einem Finger-Server auf TCP-Port 79 auf einem entfernten Rechner herzustellen. Durch gestrafftere Sicherheitsrichtlinien ist letzteres mit der Zeit aus der Mode gekommen, weswegen heute wahrscheinlich keine Standardinstallation mehr einen Finger-Server enthält.

Um festzustellen, welche Benutzer aktuell am System angemeldet sind, verwenden Sie entweder den Befehl who oder nutzen stattdessen w, wenn Sie Wert auf einen ausführlichen Bericht legen (Listing 3). Beide zeigen den Benutzernamen sowie das Gerät, auf dem sich der Benutzer angemeldet hat, aber bei w sehen zusätzlich noch die benutzten Programme sowie einige Statistiken.

Listing 3

$ who
msimmons tty1         2009-11-08 14:58
root     :0           2009-11-08 12:46
root     pts/0        2009-11-08 12:48 (:0.0)
msimmons pts/2        2009-11-08 14:58 (centos)
$ w
 15:00:51 up  8:58,  4 users,  load average: 0.07, 0.10, 0.10
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
msimmons tty1     -                14:58    2:19   0.22s  0.22s -bash
root     :0       -                12:46   ?xdm?   4:11   0.92s /usr/bin/gnome-session
root     pts/0    :0.0             12:48    0.00s  0.76s  0.29s ssh msimmons@localhost
msimmons pts/2    centos           14:58    0.00s  0.20s  0.02s w

Konten anlegen

Auf der Kommandozeile erstellen Sie neue Nutzer und Gruppen meist mit useradd und groupadd. Diese Werkzeuge, als die Sie nur als Superuser Zugriff erhalten, finden Sie standardmäßig im Verzeichnis /usr/sbin. Auf Debian-Systemen gibt es auch das Perl-Skript adduser, das als benutzerfreundliches Frontend für Useradd, Groupadd und Usermod gedacht ist. Da Useradd bei allen Linux-Distributionen funktioniert, beziehen sich die folgenden Beispiele auf dieses Tool.

Trotz zahlreicher möglicher Optionen erweist sich der Umgang mit Useradd als nicht sonderlich kompliziert. Beim ersten Aufruf ist der nützlichste Parameter wahrscheinlich -D (Listing 4): Er zeigt die momentan geltenden Standardwerte für verschiedene Einstellungen an, festgelegt in der Datei /etc/default/useradd. Diese Werte können sich von Distribution zu Distribution unterscheiden.

Listing 4

# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Um ein neues Benutzerkonto per Kommandozeile zu erstellen, geben Sie useradd Benutzername ein, woraufhin das Programm die entsprechenden Zeilen in die Dateien /etc/passwd und /etc/shadow einträgt. Das Benutzerkonto ist in diesem Stadium allerdings noch nicht ganz einsatzfähig, da Sie bislang weder ein Passwort zugewiesen noch ein Benutzerverzeichnis erstellt haben. Um das Benutzerkonto startklar zu machen, gibt es mehrere Argumente, mit deren Hilfe Sie es entsprechend gestalten:

# /usr/sbin/useradd msimmons -c "Matt Simmons" -d /home/msimmons -m -s /bin/bash

Zusätzlichen zu den Einträgen in /etc/passwd und /etc/shadow trägt diese Befehlszeile den Wert Matt Simmons in das GECOS-Feld ein (-c), legt das Benutzerverzeichnis fest (-d) und erstellt es auch gleich (-m) und weist als Anmelde-Shell (-s) die Bash zu. Damit steht ein funktionierendes Benutzerkonto bereit.

Ein weiterer Parameter für Useradd, der im Beispiel nicht zum Einsatz kam, lautet --password. Als Argument dient hier ein verschlüsselter Password-Hash. Diese Option sollte man tunlichst meiden, da dadurch kurzzeitig das verschlüsselte Passwort für alle Benutzer im System zu sehen ist.

Erledigen Sie das Erstellen von Benutzerkonten per Skript und erhalten alle neuen Benutzer standardmäßig das gleiche Passwort, spart dies eventuell Zeit. Alternativ bietet es sich an, einen Blick auf den Befehl /usr/sbin/newusers zu werfen, der das Importieren von Benutzerkonten im Batch-Verfahren erlaubt. Der Nachteil von Newusers liegt darin, dass es die Passwörter, die Sie eingeben, im Klartext speichert – eine gravierende Sicherheitslücke, sollten Angreifer den Weg in das System finden.

Es kommt immer wieder vor, dass Sie Benutzerkonten erstellen wollen, die kein Benutzerverzeichnis und keine Login-Daten benötigen – zum Beispiel, wenn ein Account nur die Funktion hat, Mails zu empfangen oder zu verschicken. Dann können Sie folgenden Befehl nutzen:

# /user/sbin/useradd mailuser -c "Mail User" -M -s /bin/false

Die Option -M weist useradd an, in diesem Fall kein Benutzerverzeichnis zu erstellen mit auf ein Login zu verzichten (-s /bin/false, alternativ: -s /bin/nologin).

Standardmäßig erstellt Useradd eine Gruppe mit demselben Namen wie der Benutzernamen (daher existiert in obigem Beispiel parallel zum Benutzer msimmons eine Gruppe namens msimmons). Bei umfangreichen Mehrplatzsystemen ist das unter Umständen nicht erwünscht. In diesem Fall weisen Sie das Programm über die Option -n (Abkürzung für --no-user-group) an, keine neue Benutzergruppe zu erstellen. Stattdessen geben Sie entweder über die Option -g die Gruppe an oder tun gar nichts – worauf Useradd versucht, einen Gruppeneintrag in /etc/default/useradd zu finden. Existiert dieser nicht, kommt die Gruppe users mit der GID 100 zum Zuge.

Zu guter Letzt kommt es manchmal vor, dass Sie die Benutzer-ID (UID) selbst festlegen wollen, anstatt das System standardmäßig die nächste verfügbare UID zuweisen zu lassen. Dies ist hauptsächlich dann sinnvoll, wenn Sie sichergehen möchten, dass ein Benutzer auf verschiedenen Systemen über dieselbe UID verfügt. Die Option lautet -u NNNN, wobei NNNN die UID bezeichnet, die Sie dem Benutzer zuweisen wollen:

# /user/sbin/useradd newuser -c "New User" -d /home/newuser -m -s /bin/bash -g testuser -u 2001

Es fällt auf Dauer lästig, bei jedem Nutzer alle diese Optionen anzugeben. Um den Aufwand zu reduzieren, bietet es sich an, die Vorgaben zu ändern. Dazu modifizieren Sie entweder /etc/default/useradd oder nutzen die Standard-Option -D nutzen. Wie beschrieben gibt useradd -D ohne weitere Parameter die Standardeinstellungen aus. Benutzen Sie aber den Befehl mit weiteren Optionen, ändern Sie die Standardwerte. Der folgende Befehl setzt Ablaufdatum, Standard-Shell und Gruppe neu:

# /user/sbin/useradd newuser -D -e 2012-12-31 -s /bin/false -g testuser

Die Option -e legt das Ablaufdatum für Benutzerkonten im Format Jahr-Monat-Tag fest. Die Option -s stellt die Standard-Shell ein, -g setzt die Standard-Gruppe.

Werfen Sie einen kurzen Blick auf die Dokumentation für den Befehl useradd auf Ihrem Rechner. In den meisten Fällen passen die Standardwerte. Bringen die Vorgaben nicht den gewünschten Erfolg, greifen Sie wie beschrieben auf useradd zurück, um diese ihren Bedürfnissen entsprechend anzupassen.

Wenn Sie den Parameter --password nicht verwenden, schaltet das System das Benutzerkonto ab. In diesem Fall bearbeiten Sie das Passwort des Kontos mithilfe des Befehls passwd. Mit der Eingabe /usr/bin/passwd Username erstellen Sie ein Passwort für einen neuen Benutzer. Listing 5 zeigt, wie das Ergebnis dieses Befehls normalerweise aussieht.

Listing 5

# passwd msimmons
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Beachten Sie, dass viele Distributionen bestimmte Anforderungen bezüglich der Sicherheit von Passwörtern stellen, um die Sie nicht herum kommen – außer als Root, wo Sie dann allerdings immer noch einen Warnhinweis erhalten.

Der Befehl Passwd erlaubt es daneben, den Status für ein oder mehrere Benutzerkonten abzufragen. Möchten Sie beispielsweise nachsehen, ob das Konto msimmons gerade im Einsatz ist, erledigen Sie das mit dem folgenden Befehl:

# passwd -S msimmons
msimmons P 11/20/2009 0 99999 7 -1

Als Resultat sehen Sie den Login-Namen, der Status des Passwortes, das Datum der letzten Änderung (falls zutreffend), den minimal und maximal erlaubten Zeitraum zwischen Änderungen, der Zeitraum für den Warnhinweis und wie lange das Konto schon deaktiviert ist.

Der Buchstabe P weist darauf hin, dass das Konto über ein gültiges Passwort verfügt. Stünde hier ein L, wäre das Konto gesperrt; NP wiese auf das Fehlen eines Passworts hin. Geben Sie passwd -S -a ein, gibt das Programm dieselben Informationen aus, allerdings für alle Benutzerkonten.

Möchten Sie ein Konto sperren, erledigen Sie dies mit dem Befehl passwd -l Benutzername. Das macht das Passwort ungültig, indem es einen zufälligen Wert erhält, der mit keinem verschlüsselten Wert übereinstimmt. Auf diese Weise legen Sie das Konto allerdings nicht komplett still: Verfügt der Benutzer beispielsweise über einen gültigen SSH-Schlüssel, vermag er sich dennoch einzuloggen.

Um ein Konto sicher zu deaktivieren und jede Anmeldung zu unterbinden, verwenden Sie passwd --expiredate 1, was das Ablaufdatum in die Vergangenheit setzt. Einige Versionen von Passwd erledigen das automatisch, sobald Sie die Option -l verwenden. Um ein Konto zu entsperren, geben Sie passwd -u ein: Das stellt das frühere Passwort wieder her.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • useradd, usermod, userdel
    Viele Wege führen zu einem neuen Benutzer-Account auf Ihrem Linux-Rechner – entweder editieren Sie alle Konfigurationsdateien von Hand oder benutzen ein grafisches Tool der eigenen Distribution (YaST, userdrake oder redhat-config-users). In dieser Zu-Befehl-Folge begeben wir uns auf die Admin-Seite des Linux-Lebens und zeigen Hintergründe, Tricks und Werkzeuge der Benutzerverwaltung auf der Kommandozeile.
  • Benutzerverwaltung
    Linux ist ein Multiuser-System: Mehrere Benutzer nutzen gleichzeitig den selben Rechner, und für verschiedene Aufgaben richtet man separate Accounts ein. Diese Zu-Befehl-Folge stellt die Kommandos für die Zugangsverwaltung vor.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Mit Samba ein kleines Netz einrichten
    Wer zu Hause ein Netzwerk mit heterogenen Clients betreibt, wünscht sich zentrale Dienste zum einfachen Zugriff auf Dateien und Peripheriegeräte. Samba bietet in diesem Fall genau das Richtige, und zudem lässt sich die Lösung mit allen gängigen Distributionen aufsetzen.
  • Benutzer und Gruppen verwalten mit dem Benutzer-Manager
    Windows 98 ist zunächst für einen Einzelplatzrechner konzipiert, aber es ist ohne weiteres möglich, mehrere Benutzerkonten einzurichten. Linux dagegen ist grundsätzlich ein Mehrbenutzersystem, deshalb ist die Verwaltung von Benutzern anspruchsvoller und komfortabler als bei Windows.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...