Wie man Benutzer über die Kommandozeile in Linux verwaltet

Eine der zentralen Aufgaben der Linux-Administration ist das Management von Benutzern. Durch die Verwendung der Kommandozeile kann die Benutzererstellung remote oder programmatisch durchgeführt werden. Nachdem Sie einen Benutzer erstellt haben, können Sie ihn zu Gruppen hinzufügen oder ihm erhöhte Berechtigungen geben. Darüber hinaus können Sie eine Audit-Verfolgung führen, um festzuhalten, was auf Ihrem Server gemacht wurde und um mögliche Probleme zu überwachen.
Wenn Sie Software entwickelt oder für das Web programmiert haben, sind Sie möglicherweise mit dem Grundsatz vertraut, Benutzern niemals zu vertrauen. Dieses gleiche Prinzip gilt in anderen Bereichen der Computernutzung in Bezug auf die Beteiligung der Benutzer. Gewähren Sie nur den Zugriff für diejenigen, die ihn benötigen und wann sie ihn benötigen. Eine großzügige Delegation von Rechten könnte unbestimmten und unautorisierten Zugriff auf Informationen und Kerndaten anderer ermöglichen.
Anzeigen vorhandener Benutzer
Eine der schnellsten Möglichkeiten, Benutzer anzuzeigen, besteht darin, die Befehle cat (konkatenieren) oder more (Pager) zu verwenden, um die Liste der Benutzer im System anzuzeigen. Die Datei, die Sie anzeigen müssen, ist die “/etc/passwd”-Datei. Diese Datei speichert alle Benutzerkonten und Informationen zum Benutzer-Login.
sudo cat /etc/passwdVerwendung des Befehls useradd
useradd ist ein Low-Level-Befehl, der in den meisten Distributionen verfügbar ist. Dieser Befehl wird typischerweise weniger verwendet, da er weniger benutzerfreundlich und intuitiv ist als der Befehl adduser. Es gibt jedoch nur sehr wenige Unterschiede, und es kann entweder verwendet werden.
Um mehr über useradd zu erfahren, führen Sie den Befehl man aus oder fügen Sie --help hinzu, um eine schnelle Übersicht zu erhalten.
man useradduseradd --help
Um einen Benutzer mit useradd hinzuzufügen, geben Sie useradd und den Namen des Logins an, den Sie erstellen möchten.
sudo useradd --create-home testuserIm obigen Fall wird der Benutzer “testuser” erstellt. Standardmäßig erstellt dieser Befehl nur den Benutzer und nichts weiter. Wenn Sie ein Home-Verzeichnis für diesen Benutzer benötigen, fügen Sie das Flag --create-home hinzu, um das Home-Verzeichnis für den Benutzer zu erstellen.
Verwendung des Befehls adduser
Der Befehl adduser ist ein Perl-Skript, das den Benutzer ähnlich wie der Befehl useradd erstellt. Was ihn anders macht, ist, dass es ein interaktiver Befehl ist und Sie aufgefordert werden, das Passwort, den Pfad des Home-Verzeichnisses usw. festzulegen. Beachten Sie, dass bei einigen Distributionen, wie Red Hat und CentOS, adduser ein symbolischer Link zu useradd ist, während adduser in anderen Distributionen wie Arch Linux als Paket kommt, das standardmäßig nicht installiert ist.
Mit diesem Befehl wird standardmäßig eine Gruppe für den Benutzer erstellt, die auf dem Login des Benutzers basiert. Andere Standardeinstellungen finden Sie normalerweise in der Benutzerdatei unter “/etc/default”.
In dieser Datei können Sie die Standardeinstellungen für Benutzer, die mit useradd erstellt wurden, ändern, wie die Shell und das Home-Verzeichnis.

Führen Sie den adduser-Befehl ähnlich wie folgt aus:
sudo adduser testuser
Dies wird Sie dann zu den Standardwerten auffordern, die Sie festlegen möchten, und nach dem Passwort fragen.
Außerdem lesen: Wie man Ihr Benutzerpasswort über das Terminal in Linux verwaltet
Passwörter und Sicherheit
Das Hinzufügen eines Passworts für einen Benutzer erfordert die Ausführung des Befehls passwd.
sudo passwd testuserOhne Superuser-Rechte ändert der Befehl passwd nur das Passwort des angemeldeten Benutzers. Dieser Befehl testet die Komplexität des Passworts. Bei Ubuntu werden die Passwortanforderungen in der common-password-Datei festgelegt, die sich in “/etc/pam.d” befindet. Weitere Informationen zur Aktualisierung der Komplexität finden Sie in der Man-Seite für pam-auth-update.

Aktualisieren von Benutzerdaten
Sobald ein Benutzer im System ist, können Sie die Datei “/etc/passwd” überprüfen, um die Informationen und das verschlüsselte Passwort des Benutzers zu sehen. Wenn Sie Änderungen an einem Benutzer vornehmen müssen, müssen Sie den Befehl usermod verwenden.

Als Beispiel, um die Benutzer-ID für das oben erstellte Konto testuser4 zu ändern, führen Sie den Befehl aus:
sudo usermod -u 2022 testuser2Sie können die Änderungen dann in der Datei “/etc/passwd” überprüfen.
Seien Sie vorsichtig beim Ändern kritischer Informationen wie des Login-Namens oder in diesem Fall der Benutzer-ID. Überprüfen Sie die Man-Seite für usermod, um zu sehen, was Sie tun müssen, wenn diese Elemente geändert werden.
Hinzufügen von Benutzern zu Gruppen
Es gibt Zeiten, in denen Sie Benutzer zu einer Gruppe hinzufügen müssen, damit sie die erforderlichen Berechtigungen für bestimmte Aufgaben haben.
Um einen Benutzer zu einer Gruppe hinzuzufügen:
sudo usermod -a -G gruppenname benutzernameBeachten Sie, dass das -a-Flag notwendig ist, um die Gruppe für den Benutzer zu “erweitern”. Andernfalls besteht das Risiko, dass der Benutzer aus der “sudo”-Gruppe entfernt wird, wenn der Benutzer über Superuser-Rechte verfügen sollte.
Alternativ können Sie den Befehl gpasswd verwenden, um Benutzer zur Gruppe hinzuzufügen oder zu entfernen.
sudo gpasswd -a benutzername gruppennameUm einen Benutzer aus einer Gruppe zu entfernen:
sudo gpasswd -d benutzername gruppennameBenutzer entfernen
Ähnlich wie bei den anderen Benutzerbefehlen wird das Löschen eines Benutzers mit “user” und der Aktion vorangestellt. In diesem Fall müssen Sie den Befehl userdel verwenden.

Beachten Sie, dass userdel einen Benutzer nicht entfernt, wenn Prozesse das Konto dieses Benutzers verwenden.
sudo userdel testuser4Anzeigen von Benutzerprotokollen
Je nach Ihrer Distribution überprüfen Sie entweder das Authentifizierungsprotokoll oder das Sicherheitsprotokoll, das sich in “/var/log” befindet, um die Benutzeranmeldungen zu überprüfen. Diese Protokolldatei gibt Ihnen Anmeldungen auf Ihrem System sofort nach ihrem Auftreten. Dies ist ein kritisches Element zur Überwachung von Ereignissen im Falle eines Sicherheitsvorfalls und um sicherzustellen, dass alles wie gewünscht funktioniert.
sudo tail /var/log/auth.logDas Benutzer-Management ist ein entscheidender Bestandteil der Verwaltung von Linux-Servern, wenn mehr als eine Person Ihr System nutzen möchte. Die Verwendung der Kommandozeile ermöglicht es Ihnen, Benutzer schnell zu verwalten und eine Historie über die Erstellung und Änderungen von Konten zu haben. Vielleicht wäre eine der besten Anwendungen, die Erstellung mit einem Shell-Skript zu automatisieren, wenn mehrere Konten auf einmal benötigt werden.
In jedem Fall sollten Sie regelmäßig Ihre Konten durchgehen und Konten entfernen, die nicht mehr benötigt werden. Stellen Sie sicher, dass der Zugang nur denjenigen gewährt wird, die aktuell Zugang benötigen, und überwachen Sie Ihre Protokolle häufig.