Ich benötige einen Befehl, um alle Benutzer im Terminal aufzulisten. Und wie man Benutzer vom Terminal aus hinzufügt, löscht und ändert.
Dies kann bei der einfachen Verwaltung Ihrer Konten über das Terminal hilfreich sein.
So listen Sie alle lokalen Benutzer auf, die Sie verwenden können:
cut -d: -f1 /etc/passwd
Um alle Benutzer aufzulisten, die sich (auf irgendeine Weise) authentifizieren können, einschließlich nicht-lokaler Benutzer, siehe diese Antwort .
Einige nützlichere Benutzerverwaltungsbefehle (auch beschränkt auf lokale Benutzer):
Um einen neuen Benutzer hinzuzufügen, können Sie Folgendes verwenden:
Sudo adduser new_username
oder:
Sudo useradd new_username
Siehe auch: Was ist der Unterschied zwischen adduser und useradd?
Zum Entfernen/Löschen eines Benutzers können Sie zunächst Folgendes verwenden:
Sudo userdel username
Dann möchten Sie möglicherweise das Basisverzeichnis für das gelöschte Benutzerkonto löschen:
Sudo rm -r/home/ Benutzername
Bitte verwenden Sie mit Vorsicht den obigen Befehl!
So ändern Sie den Benutzernamen eines Benutzers:
usermod -l new_usernameold_username
So ändern Sie das Kennwort für einen Benutzer:
Sudo passwd username
So ändern Sie die Shell für einen Benutzer:
Sudo chsh username
So ändern Sie die Details für einen Benutzer (zum Beispiel den richtigen Namen):
Sudo chfn username
So fügen Sie einen Benutzer zur Gruppe Sudo
hinzu:
adduser username Sudo
oder
usermod -aG Sudo username
Und natürlich auch: man adduser
, man useradd
, man userdel
... und so weiter.
Drücken Sie einfach Ctrl+Alt+T auf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen die folgenden Befehle aus:
cat /etc/passwd
OR
less /etc/passwd
more /etc/passwd
Sie können auch awk verwenden:awk
awk -F':' '{ print $1}' /etc/passwd
Der einfachste Weg, diese Art von Informationen zu erhalten, ist getent
- siehe Manpage für den Befehl getent
. Während dieser Befehl dieselbe Ausgabe wie
cat /etc/passwd
liefert, ist es nützlich, sich zu erinnern, da er Ihnen Listen mehrerer Elemente im Betriebssystem liefert.
So rufen Sie eine Liste aller von Ihnen eingegebenen Benutzer ab (da Benutzer in /etc/passwd
aufgeführt sind)
getent passwd
Um dem System einen Benutzer newuser hinzuzufügen, geben Sie Folgendes ein
Sudo adduser newuser
um einen Benutzer zu erstellen, auf den alle Standardeinstellungen angewendet wurden.
Bonus: Hinzufügen eines Benutzers (zum Beispiel anyuser ) zu einer Gruppe (zum Beispiel cdrom )
Sudo adduser anyuser cdrom
Mit löschen Sie einen Benutzer (zB obsolet )
Sudo deluser obsolete
Wenn Sie auch sein Heimatverzeichnis/seine E-Mails löschen möchten, geben Sie Folgendes ein
Sudo deluser --remove-home obsolete
Und
Sudo deluser --remove-all-files obsolete
entfernt den Benutzer und alle Dateien, die diesem Benutzer gehören, auf dem gesamten System.
Dies sollte unter den meisten normalen Situationen alle normalen (nicht systemspezifischen, nicht seltsamen usw.) Benutzer erreichen:
awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd
Dies funktioniert durch:
/etc/passwd
:
als BegrenzerDies liegt daran, dass auf vielen Linux-Systemen Benutzernamen über 1000 für nichtprivilegierte (man könnte sagen, normale) Benutzer reserviert sind. Einige Infos dazu hier :
Eine Benutzer-ID (UID) ist eine eindeutige positive Ganzzahl, die jedem Benutzer von einem Unix-ähnlichen Betriebssystem zugewiesen wird. Jeder Benutzer wird durch seine UID gegenüber dem System identifiziert, und Benutzernamen werden im Allgemeinen nur als Schnittstelle für Menschen verwendet.
UIDs werden zusammen mit ihren entsprechenden Benutzernamen und anderen benutzerspezifischen Informationen in der Datei/etc/passwd gespeichert.
Das dritte Feld enthält die UID und das vierte Feld enthält die Gruppen-ID (GID), die standardmäßig für alle normalen Benutzer der UID entspricht.
In den Linux-Kerneln 2.4 und höher sind UIDs vorzeichenlose 32-Bit-Ganzzahlen, die Werte von Null bis 4.294.967.296 darstellen können. Es wird jedoch empfohlen, nur Werte bis 65.534 zu verwenden, um die Kompatibilität mit Systemen zu gewährleisten, die ältere Kernel oder Dateisysteme verwenden, die nur 16-Bit-UIDs unterstützen.
Die UID 0 hat eine besondere Rolle: Sie ist immer das Root-Konto (d. H. Der allmächtige administrative Benutzer). Obwohl der Benutzername für dieses Konto geändert und zusätzliche Konten mit derselben UID erstellt werden können, ist aus Sicherheitsgründen keine Aktion sinnvoll.
Die UID 65534 ist üblicherweise für niemanden reserviert, einen Benutzer ohne Systemberechtigungen, im Gegensatz zu einem normalen (d. H. Nicht privilegierten) Benutzer. Diese UID wird häufig für Personen verwendet, die remote über FTP (File Transfer Protocol) oder HTTP (Hypertext Transfer Protocol) auf das System zugreifen.
Die UIDs 1 bis 99 sind traditionell für spezielle Systembenutzer reserviert (manchmal auch als Pseudobenutzer bezeichnet), z. B. Wheel, Daemon, LP, Operator, Nachrichten, E-Mail usw. Diese Benutzer sind Administratoren, die keine vollständigen Root-Berechtigungen benötigen, aber Leistung erbringen einige administrative Aufgaben und benötigen daher mehr Berechtigungen als normale Benutzer.
Einige Linux-Distributionen (dh Versionen) beginnen UIDs für nicht privilegierte Benutzer mit 100. Andere, wie Red Hat, beginnen sie mit 500, und wieder andere, wie Debian, beginnen sie mit 1000. Aufgrund der Unterschiede zwischen den Distributionen, manuell Ein Eingreifen kann erforderlich sein, wenn in einem Netzwerk in einer Organisation mehrere Verteilungen verwendet werden.
Es kann auch praktisch sein, einen UID-Block für lokale Benutzer wie 1000 bis 9999 und einen anderen Block für Remotebenutzer (dh Benutzer an anderer Stelle im Netzwerk) wie 10000 bis 65534 zu reservieren. Wichtig ist, dass Sie sich entscheiden auf ein Schema und halten Sie sich daran.
Zu den Vorteilen dieser Methode, Nummernblöcke für bestimmte Benutzertypen zu reservieren, gehört, dass die Suche in Systemprotokollen nach verdächtigen Benutzeraktivitäten vereinfacht wird.
Entgegen der landläufigen Meinung ist es nicht erforderlich, dass jeder Eintrag im UID-Feld eindeutig ist. Nicht eindeutige UIDs können jedoch Sicherheitsprobleme verursachen. Daher sollten UIDs im gesamten Unternehmen eindeutig bleiben. Ebenso sollte das Recycling von UIDs ehemaliger Benutzer so lange wie möglich vermieden werden.
Liste aller Benutzer, die sich anmelden können (keine Systembenutzer wie bin, deamon, mail, sys usw.)
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
add neuer Benutzer
Sudo adduser new_username
oder
Sudo useradd new_username
löschen/Benutzername entfernen
Sudo userdel username
Wenn Sie das Home-Verzeichnis löschen möchten (standardmäßig das Verzeichnis/home/Benutzername)
Sudo deluser --remove-home username
oder
Sudo rm -r /path/to/user_home_dir
Wenn Sie alle Dateien von diesem Benutzer aus dem System löschen möchten (nicht nur das Basisverzeichnis)
Sudo deluser --remove-all-files
Ok, hier ist ein Trick, der dir dabei hilft, das zu sortieren. Das Terminal hat eine automatische Vervollständigung, wenn Sie Benutzer eingeben und zweimal die Tabulatortaste drücken, und listet alle Befehle auf, die mit Benutzer als die ersten 4 Zeichen vorhanden sind.
user (tab tab)
gibt mir als mögliche Optionen useradd userdel usermod users users-admin
Wenn Sie mehr über einen Befehl erfahren möchten, googeln Sie ihn oder geben Sie man ein.
um Benutzer aufzulisten, sollten Sie sich an das halten, was Mitch gesagt hat.
Ich hoffe, das hilft mir, die Tab-Vervollständigung in der Bash zu lieben, und bewahre mich davor, mich an Dinge zu erinnern.
Führen Sie die folgenden Befehle aus, um die Benutzer mit den Basisverzeichnissen im Ordner/home auf dem Computer zu ermitteln
cd /home
ls
Sie können dann die Benutzer sehen, die berechtigt sind, sich am Server anzumelden. Wenn wir die Dateien eines Benutzers untersuchen möchten, müssen Sie der Root-Benutzer sein.