it-swarm.com.de

Ein Befehl, um alle Benutzer aufzulisten? Und wie können Benutzer hinzugefügt, gelöscht oder geändert werden?

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.

853
nux

Auflisten

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):

Hinzufügen

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?

Entfernen/Löschen

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!

Ändern

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.

1136
Radu Rădeanu

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
86
Mitch

Der einfachste Weg, diese Art von Informationen zu erhalten, ist getent - siehe Manpage für den Befehl getent Manpage icon . 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.

63
guntbert

Sie können auch compgenGNU bash built-in verwenden:

compgen -u

Listet alle Benutzer auf.

42
Ravexina

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:

  • einlesen von /etc/passwd
  • verwenden von : als Begrenzer
  • wenn das dritte Feld (die Benutzer-ID-Nummer) größer als 1000 und nicht 65534 ist, wird das erste Feld (der Benutzername des Benutzers) gedruckt.

Dies 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.

27
Wilf

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
17
Donovan Vesters

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.

8
user239243

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.

6
anvesh