10 lustige Spiele zum Spielen im Linux-Terminal
Webagentur » Digitale Nachrichten » So listen Sie Benutzer unter Linux auf

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.

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

Senden des Inhalts der /etc/passwd-Datei an das Terminalfenster mit cat

Für jedes Benutzerkonto wird eine Reihe dichter Informationen gemeldet.

Der Inhalt der Datei /etc/passwd

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

Zählen Sie die Anzahl der Konten in der Datei /etc/passwd

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

Öffnen Sie die /etc/passwd-Datei weniger

Verwenden less lässt Sie auch die Ausgabe durchsuchen, wenn Sie nach einem bestimmten Benutzerkonto suchen möchten.

Suchen Sie das Mary-Konto in der Datei /etc/passwd, minus

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

Ein awk-Befehl, um nur Benutzernamen aus /etc/passwd auszuwählen

Benutzerkontonamen werden ohne andere Kontoinformationen in das Terminalfenster geschrieben.

Benutzerkontonamen, die im Terminalfenster angezeigt werden

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

Verwendung des Befehls cut, um nur Benutzernamen aus der Datei /etc/passwd anzuzeigen

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

Verwenden von compgen- und column-Befehlen zum Auflisten von Benutzerkontonamen aus der /etc/passwd-Datei in Spalten

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

Verwenden von getent zum Sichern der /etc/passwd-Datei im Terminalfenster

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

Suchen eines einzelnen Benutzerkontos mit getent

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}

Verwenden von oberen und unteren Kontoanmeldeinformationen mit getent

Die Ausführung dauert eine Weile. Schließlich kehren Sie zur Eingabeaufforderung zurück.

Der Inhalt der Datei /etc/passwd, die von getent an das Terminalfenster gesendet wird

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 Befehl, um die Ausgabe von cut an den sort-Befehl weiterzuleiten

Der höchste Anmeldewert für ein Benutzerkonto im Besitz eines Menschen ist 1401.

Eine sortierte Liste von Benutzerkonto-IDs

Dem Systembegriff "Person" ist die Benutzer-ID 65534 zugeordnet.

getentpasswd {65534..65534}

Der Systembenutzer der Person mit der ID 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 Ausgabe von getent wird an den Schnitt geleitet, um die Namen der Benutzerkonten aufzulisten

Die Benutzer werden aufgelistet und wir kehren sofort zur Eingabeaufforderung zurück.

Anstatt die Ausgabe durchzuleiten cutden Ausgang lenken wc und zähle die Reihen noch einmal. Dadurch erhalten wir die Anzahl der "echten" Benutzerkonten.

getentpasswd {1000..1500} | wc-l

Zählen Sie normale Benutzerkonten mit getent und wc

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

★ ★ ★ ★ ★