claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 12/2003

Benutzerverwaltung per Shell

Kontoeröffnung

von Elisabeth Bauer


Bei der Nutzerverwaltung schlagen die Kommandozeilen-Tools ihre grafischen Gegenstücke um Längen. Mit den Befehlen "useradd" und "passwd" richten Sie bequem und schnell neue Konten an.

Er treibt bevorzugt an Universitätsrechenzentren sein Unwesen, aber auch in großen Firmennetzen trifft man manchmal auf ihn. Die Rede ist nicht vom schnöden Hacker, sondern vom sagenumwobenen BOfH [1]. BOfH steht für für Bastard Operator from Hell, und -- ein guter Ratschlag -- sollten Sie einmal einem Exemplar dieser Spezies begegnen, schlagen Sie einen weiten Bogen um ihn. Am meisten hasst es der BOfH, wenn der so genannte Anwender mit einem Computer-Problem zu ihm kommt. Dann spielt er gerne mit der Linux-Benutzerverwaltung. Verraten Sie nie einem BOfH Ihren Benutzernamen: Ihr Nutzerkonto mitsamt allen Daten hat er schneller gelöscht als Sie sich einloggen können.

Aber Sie haben glücklicherweise Ihr eigenes System und sind selbst Administrator. Vielleicht haben Sie dort auch weitere Nutzer? Man muss kein BOfH sein, um die Kommandozeilenwerkzeuge zur Nutzerverwaltung praktisch zu finden: Um neue Benutzer anzulegen, Passwörter zu ändern oder ein Konto wieder zu löschen, genügen wenige kurze Kommandos.

Benutzer anlegen

Neue Benutzer erzeugen Sie mit dem Befehl useradd. Diesen darf nur der Administrator aufrufen. Starten Sie deshalb ein Terminal und geben Sie als erstes su und danach Ihr Administratorpasswort ein, um sich als root anzumelden. Um einen neuen User unter dem Namen tux anzulegen, geben Sie nun

useradd -m tux

ein. Als Benutzernamen wählen Sie ein Wort aus Kleinbuchstaben ohne Sonderzeichen. Mit der Option -m erstellt useradd für den neuen Benutzer auch gleich ein Home-Verzeichnis. Das ist aber erst die halbe Miete: Der neue Benutzer braucht noch ein Passwort, um sich erfolgreich anzumelden. Rufen Sie

passwd tux

auf. Linux fordert Sie nun auf, zweimal das neue Passwort einzugeben (siehe Abbildung 1). Wundern Sie sich nicht darüber, dass scheinbar nichts passiert, wenn Sie tippen. Linux speichert die Eingabe, stellt aber aus Sicherheitsgründen keine Platzhalter dar, damit ein zufälliger Beobachter nicht die Länge des Passworts aus der Eingabe erkennen kann.

Abb. 1: Schlechte Passwörter akzeptiert Linux zwar, meckert aber. In so einem Fall wählen Sie besser ein schwierigeres.

Das Kommando passwd können Sie auch jederzeit verwenden, um Ihr eigenes Benutzerpasswort zu wechseln. Dazu rufen Sie als normaler Benutzer angemeldet einfach nur passwd ohne den Benutzernamen auf (siehe Abbildung 2). Die Passwörter anderer Benutzer ändern darf hingegen nur Root.

Abb. 2: Auch normale Nutzer ändern mit "passwd" ihr Passwort.

Eigentlich dient useradd nur der Bequemlichkeit: Wie YaST oder die grafische Benutzerverwaltung von Red Hat trägt auch dieser Befehl nur Informationen in die Datei ein, in der Linux die Benutzerdaten speichert: /etc/passwd (siehe Abbildung 3). Wenn Sie diese Datei mit dem Befehl less /etc/passwd durchblättern, sehen Sie alle auf Ihrem System eingerichteten Benutzer. Das sind ganz schön viele -- aber bei den meisten davon handelt es sich um Systemdienste, die unter einem eigenen Nutzer-Account laufen. In der ersten Spalte steht der Login-Name, das mit einem Doppelpunkt abgetrennte zweite Feld enthielt früher das Passwort, jetzt steht dort nur noch ein x als Platzhalter. Das dritte und vierte Feld enthält die Benutzer- und Gruppennummer: Der Benutzer root hat auf jedem Linux traditionell die User-ID (UID) 0, die Konten für normale Anwender beginnen normalerweise bei 500. In der fünften Spalte finden Sie den vollen Namen, der jedoch auch leer sein darf. Die letzten beiden Angaben bezeichnen das Home-Verzeichnis des Benutzers und seine Login-Shell: Alle Benutzer, bei denen dort Angaben wie /sbin/nologin oder /bin/false steht, können sich nicht am System anmelden.

Abb. 3: In der Datei "/etc/passwd" führt Linux alle Benutzerkonten auf.

Die echten Passwörter hat Linux in einer anderen Datei versteckt, der /etc/shadow (siehe Abbildung 4). Die Informationen sind darüber hinaus verschlüsselt, so dass selbst der Administrator nicht die Passwörter der Benutzer erfahren kann. Nicht alle Konten haben ein Passwort -- bei vielen steht in der zweiten Spalte nur ein ! oder *. Ersteres bedeutet, dass das Passwort gesperrt ist, das zweite heißt, dass für diesen Account andere Authentifizierungsverfahren benutzt werden.

Abb. 4: Die Passwortinformationen in "/etc/shadow" darf nur "root" lesen.

User wechsel dich

Gerade wenn man neue Benutzer anlegt, will man sich manchmal zum Testen oder Einrichten des Home-Verzeichnis' unter deren Namen anzumelden. Natürlich können Sie dafür KDE beenden und sich neu einloggen, aber auf der Shell wechseln Sie mit dem Kommando su auch direkt den Benutzer. Geben Sie dazu

su name

ein. Versuchen Sie das als normaler Nutzer, fragt Linux Sie nach dem Passwort des anderen Benutzers, vom Administrator-Account root aus hingegen können Sie sich auf jedem Konto ohne Passwort einloggen. Am veränderten Prompt erkennen Sie, dass Sie jetzt unter anderer Flagge segeln. Um sich wieder abzumelden, geben Sie exit oder [Strg-D] ein.

Raus!

Jemand hat Sie so geärgert, dass Sie umgehend seinen Benutzer-Account auf Ihrem System löschen wollen? Das erledigt das Kommando:

userdel name

Dies löscht die Einträge in /etc/passwd und /etc/shadow, das Home-Verzeichnis des Benutzers existiert jedoch weiterhin. Wollen Sie auch die persönlichen Daten ins Nirvana schicken, fügen Sie die Option -r ("remove home directory") an. Wenn Ihr Opfer gerade eingeloggt ist (beispielsweise per SSH vom Rechner im Nebenzimmer), verweigert userdel jedoch den Dienst: Zuerst müssen Sie alle von ihm gestarteten Prozesse beenden.

Account sperren

In den wenigsten Fällen will man jedoch ein Konto wirklich löschen. Das Kommando usermod erlaubt es, Accounts vorübergehend zu sperren. Dabei wird vor das verschlüsselte Passwort in /etc/shadow ein ! gesetzt, so dass das System es nicht mehr als gültig akzeptiert, es aber nicht gelöscht wird. Um den Account name zu sperren, rufen Sie usermod mit der Option -L ("lock") auf:

usermod -L name

Anschließend kann sich der Nutzer nicht mehr einloggen. Hier gilt wieder dieselbe Regel wie bei userdel: Auf gerade angemeldete Nutzer dürfen Sie den Befehl nicht anwenden. Mit dem gleichen Kommando, aber der Option -U ("unlock") heben Sie die Sperre wieder auf:

usermod -U name

Besonders wenn ein Konto längere Zeit nicht benutzt wird, empfiehlt es sich, dieses zu sperren -- so schließen Sie ein Einfallstor für eventuelle Angreifer und sichern Ihr System. (eba)

Infos
[1] Die Original-Geschichten vom BOfH auf Englisch: http://bofh.ntk.net/Bastard.html und in deutscher Übersetzung: http://home.t-online.de/home/horibo/operator.htm

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 16:35

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]