So listen Sie Benutzer unter Linux auf
Linux ist ein Mehrbenutzer-Betriebssystem, daher ist es einfach, viele Benutzerkonten zu erstellen. Mit der Zeit verliert man leicht den Überblick über benötigte Konten. Die Liste der Benutzerkonten hilft Ihnen bei der Verwaltung.
Zusammenfassung
Benutzerkonten
Technologische Fortschritte bringen oft ihre eigenen neuen Probleme mit sich. Sobald Computer mehrere Benutzer unterstützen konnten, wurde die Notwendigkeit deutlich, die Arbeit aller von denen aller anderen zu trennen und zu kapseln. Dies führte zum Konzept der Benutzerkonten. Jeder Benutzer hat einen benannten Benutzernamen und ein Passwort. Dies sind die Anmeldeinformationen, mit denen sie sich bei ihrem Konto anmelden können. Ihre Dateien werden für jeden Benutzer in einem privaten Bereich aufbewahrt.
Auf einem ausgelasteten System kann man leicht den Überblick darüber verlieren, welche Konten Sie erstellt haben und welche nicht mehr benötigt werden. Aus Sicherheitsgründen ist es eine schlechte Idee, Benutzerkonten, die Sie nicht mehr benötigen, auf Ihrem Computer einzurichten und zugänglich zu halten. Sie müssen diese Benutzer löschen.
Auch wenn Sie keine anderen Personen haben, die Ihren Computer verwenden, haben Sie möglicherweise Konten erstellt, nur um zu lernen, wie, oder um Administrationsprozesse zu lernen und zu üben.
Der erste Schritt besteht darin, die auf Ihrem Computer konfigurierten Benutzerkonten aufzulisten. Auf diese Weise können Sie sie überprüfen und beurteilen, was entfernt werden kann. Es gibt mehrere Methoden, um Benutzer aufzulisten. Unabhängig davon, welche Distribution Sie verwenden, sollten diese Techniken für Sie funktionieren, ohne dass Sie Apps oder Dienstprogramme installieren müssen.
Benutzer mit dem cat-Befehl auflisten
Eine Liste der konfigurierten Benutzer wird zusammen mit Informationen über jeden Benutzer in der Datei "/etc/passwd" gespeichert. Dies ist eine Textdatei, die normale Benutzer im Terminalfenster auflisten können. Sie müssen nicht verwenden sudo
um in der Datei „/etc/passwd“ nachzusehen.
Wir können die nutzen cat
Befehl, um den Inhalt der Datei „/etc/passwd“ an das Terminalfenster zu senden. Dadurch wird der gesamte Inhalt der Datei aufgelistet. Das bedeutet, dass Sie auch Einträge für Benutzerkonten sehen, die zu Prozessen und Systemen gehören, nicht zu Personen.
Katze / etc / passwd
Für jedes Benutzerkonto wird eine Reihe dichter Informationen gemeldet.
Die Benutzerkontoinformationen mit dem Namen "dave" enthalten diese Informationen mit einem Doppelpunkt " :
" zwischen ihnen.
- Dave: Der Name des Benutzerkontos. Normalerweise der Name der Person, der das Konto gehört.
- X: Zu einem bestimmten Zeitpunkt enthielt dies das Passwort für das Konto. Heutzutage werden Passwörter in der Datei „/etc/shadow“ gespeichert. Das „x“ bedeutet, dass sich das Passwort in dieser Datei befindet.
- 1000: Die Benutzer-ID für dieses Konto. Alle Benutzerkonten haben eine eindeutige numerische Kennung. Reguläre Benutzerkonten beginnen normalerweise bei 1000, wobei jedes neue Konto die nächste freie ID verwendet, z. B. 1001, 1002 usw.
- 1000: Gruppen-ID der Standardgruppe, zu der der Benutzer gehört. Unter normalen Umständen hat die Standardgruppe denselben Wert wie die Benutzer-ID.
- David,,,: Eine Sammlung optionaler zusätzlicher Informationen über den Benutzer. Dieses Feld enthält Daten mit Kommas "
,
" zwischen ihnen. Sie können Dinge wie den vollständigen Namen des Benutzers, die Büronummer und die Telefonnummer enthalten. Der Eintrag für das Benutzerkonto „mary“ zeigt, dass sie mit vollem Namen Mary Quinn heißt. - /home/dave: Pfad zum Home-Ordner des Benutzers.
- / bin / bash: Die Standard-Shell für diesen Benutzer.
Wenn wir die Ausgabe dieses Befehls an die wc
Dienstprogramm und verwenden Sie die -l
(Zeilen) können wir die Zeilen in der Datei zählen. Dadurch erhalten wir die Anzahl der auf diesem Computer konfigurierten Konten.
cat /etc/passwort | wc-l
Diese Zahl umfasst Systemkonten und Benutzer, die von Anwendungen erstellt wurden. Auf diesem Computer sind etwa 400 normale Benutzer konfiguriert. Ihr Ergebnis ist wahrscheinlich viel geringer.
Bei so vielen Konten ist die Verwendung bequemer less
um die Datei "/etc/passwd" anzuzeigen.
weniger / etc / passwd
Verwenden less
lässt Sie auch die Ausgabe durchsuchen, wenn Sie nach einem bestimmten Benutzerkonto suchen möchten.
Der awk-Befehl
Mit der awk
Befehl können wir nur den Benutzernamen anzeigen. Dies kann nützlich sein, wenn Sie ein Skript schreiben, das etwas für eine große Anzahl von Benutzerkonten tun muss. Das Auflisten von Benutzerkontonamen und deren Umleitung in eine Textdatei kann eine enorme Zeitersparnis sein. Alles, was Sie tun müssen, ist, den Rest des Befehls in jede Zeile zu kopieren und einzufügen.
Wir weisen awk an, den Doppelpunkt „:“ als Feldtrenner zu verwenden und das erste Feld auszugeben. Wir verwenden die Option -F (Feldtrennzeichen).
awk -F: '{print $1}' /etc/passwd
Benutzerkontonamen werden ohne andere Kontoinformationen in das Terminalfenster geschrieben.
Der Cut-Befehl
Wir können dasselbe mit dem erreichen cut
bestellt. Wir müssen die verwenden -d
(Trennzeichen) und bitten Sie es, nur das erste Feld auszuwählen, indem Sie das verwenden -f
(Felder).
cutr -d:-f1
Hier werden alle Benutzerkonten aufgelistet, einschließlich System- und anderer nicht menschlicher Konten.
Der compgen-Befehl
Le compgen
Der Befehl kann mit dem verwendet werden -u
(Benutzer), um Benutzerkonten aufzulisten. Wir werden den Ausgang durch die lenken column
um Benutzerkonten in Spalten aufzulisten, anstatt einer langen Liste mit einem Benutzernamen pro Zeile.
compgen -u | Säule
Auch hier gehören die ersten aufgelisteten Benutzerkonten zu Prozessen, nicht zu Menschen.
UID-MIN und UID-MAX
Benutzerkonten erhalten eine numerische ID, die wir zuvor gesehen haben. Normalerweise beginnen normale menschliche Benutzerkonten bei 1000 und nicht-menschliche Systembenutzerkonten beginnen bei 0. Die Root-Konto-ID ist 0.
Wenn wir die niedrigste und höchstmögliche Benutzer-ID verifizieren können, können wir diese Informationen verwenden, um Benutzerkonten auszuwählen, die zwischen diesen beiden Werten liegen. Dadurch können wir nur Benutzerkonten auswählen, die echten Personen gehören.
Linux verfolgt diese beiden Werte mithilfe der so genannten Konfigurationsparameter UID_MIN
et UID_MAX
. Diese sind in der Datei „/etc/login.defs“ enthalten. Wir können diese Werte leicht mit sehen grep
.
Wir werden die verwenden -E
(erweiterter regulärer Ausdruck). Unser Suchstring sucht in der Datei „/etc/login.defs“ nach Zeilen, die mit „UID_MIN“ oder „UID_MAX“ beginnen. Das Caret " ^
“ stellt den Beginn einer Zeile dar.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
Der Bereich der Benutzer-IDs auf diesem Computer reicht von 1 bis 000.
IN BEZIEHUNG: Wie man reguläre Ausdrücke (Regex) unter Linux verwendet
Der getent-Befehl
Le getent
Der Befehl liest Informationen aus Systemdatenbanken. Wir können es anweisen, Einträge in der Datei „/etc/passwd“ aufzulisten, indem wir „passwd“ als Parameter verwenden.
Passwort erhalten
Dies gibt uns den gleichen Messwert, den wir verwenden können cat
. Aber wo getent
glänzt durch die Annahme von Werten, die als "Schlüssel" bezeichnet werden. Ein Schlüssel bestimmt, welche Informationen getent
Berichtet über. Wenn wir die Eingabe eines einzelnen Benutzers sehen möchten, können wir seinen Benutzerkontonamen auf der Befehlszeile übergeben.
Getent passwd Sarah
Beachten Sie, dass beim Namen des Benutzerkontos zwischen Groß- und Kleinschreibung unterschieden wird.
passwort erhalten sarah
Wir können auch die oberen und unteren Grenzen der Benutzerkonto-IDs übergeben, die wir sehen möchten. Um absolut alle regulären Benutzerkonten zu sehen, können wir die Werte von verwenden UID_MIN
et UID_MAX
.
getentpasswd {1000..60000}
Die Ausführung dauert eine Weile. Schließlich kehren Sie zur Eingabeaufforderung zurück.
Der Grund für die lange Laufzeit ist das getent
versucht Übereinstimmungen für alle Benutzerkontowerte bis 60000 zu finden.
Mal sehen, was die höchste Benutzerkonto-ID ist. Wir werden die verwenden cut
Befehl, aber dieses Mal fragen wir nach Feld drei, dem Benutzer-ID-Feld. Wir führen den Ausgang durch sort
und benutze die -g
(allgemeine numerische Sortierung).
cut -d: -f3 /etc/passwd | sortieren -g
Der höchste Anmeldewert für ein Benutzerkonto im Besitz eines Menschen ist 1401.
Dem Systembegriff "Person" ist die Benutzer-ID 65534 zugeordnet.
getentpasswd {65534..65534}
Wir wissen das also, anstatt die zu verwenden UID_MAX
Wert von 60000, auf diesem Computer können wir einen realistischeren Wert wie 1500 verwenden. Das wird die Dinge schön beschleunigen. Wir werden auch die Ausgabe an leiten cut
um nur die Namen der Benutzerkonten zu extrahieren.
getentpasswd {1000..1500} | Schnitt -d: -f1
Die Benutzer werden aufgelistet und wir kehren sofort zur Eingabeaufforderung zurück.
Anstatt die Ausgabe durchzuleiten cut
den Ausgang lenken wc
und zähle die Reihen noch einmal. Dadurch erhalten wir die Anzahl der "echten" Benutzerkonten.
getentpasswd {1000..1500} | wc-l
Wir können jetzt sehen, dass es auf diesem Computer definitiv 400 Benutzerkonten gibt, die von Menschen eingerichtet und besessen werden.
Kraft und Einfachheit
Eine dieser Techniken wird sicherlich Ihren Anforderungen entsprechen, wenn Sie Benutzerkonten auf einem Linux-Computer untersuchen müssen. Diese Befehle sollten auf allen Distributionen vorhanden sein, und keiner von ihnen erfordert sudo
Zugriff, sodass sie allen Benutzern zur Verfügung stehen.
IN BEZIEHUNG: So steuern Sie den Sudo-Zugriff unter Linux