Ich benötige einen Befehl, um alle Benutzer im Terminal aufzulisten. Und wie man Benutzer aus dem Terminal hinzufügt, löscht, ändert.
Dies kann bei der einfachen Verwaltung Ihrer Konten über das Terminal hilfreich sein.
Ich benötige einen Befehl, um alle Benutzer im Terminal aufzulisten. Und wie man Benutzer aus dem Terminal hinzufügt, löscht, ändert.
Dies kann bei der einfachen Verwaltung Ihrer Konten über das Terminal hilfreich sein.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Antworten:
Auflisten
So listen Sie alle lokalen Benutzer auf, die Sie verwenden können:
In dieser Antwort finden Sie eine Liste aller Benutzer, die sich (auf irgendeine Weise) authentifizieren können, einschließlich nicht lokaler Benutzer .
Einige nützlichere Benutzerverwaltungsbefehle (auch auf lokale Benutzer beschränkt):
Hinzufügen
Um einen neuen Benutzer hinzuzufügen, können Sie Folgendes verwenden:
oder:
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:
Dann möchten Sie möglicherweise das Basisverzeichnis für das gelöschte Benutzerkonto löschen:
Bitte verwenden Sie mit Vorsicht den obigen Befehl!
Ändern
So ändern Sie den Benutzernamen eines Benutzers:
So ändern Sie das Kennwort für einen Benutzer:
So ändern Sie die Shell für einen Benutzer:
So ändern Sie die Details für einen Benutzer (zum Beispiel den richtigen Namen):
So fügen Sie der
sudo
Gruppe einen Benutzer hinzu :oder
Und natürlich, siehe auch:
man adduser
,man useradd
,man userdel
... und so weiter.quelle
sudo chfn <username>
welche Änderungen Benutzerdetails (zum Beispiel richtiger Name). Ich habe versucht, dies als Kommentar hinzuzufügen, habe jedoch die Fehlermeldung erhalten, dass ich dafür einen Ruf von +50 haben muss.Drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen die folgenden Befehle aus:
ODER
Sie können auch awk: awk verwenden
quelle
adduser
stattdessenuseradd
sollte Skripte beschränkt werden , in denen der Autor wirklich wirklich weiß , was er tut.Der einfachste Weg, um diese Art von Informationen zu erhalten, ist
getent
- siehe Manpage für dengetent
Befehl . Während dieser Befehl dieselbe Ausgabe liefertcat /etc/passwd
, ist es nützlich, sich daran zu erinnern, dass er Ihnen Listen mit mehreren Elementen im Betriebssystem liefert .So rufen Sie eine Liste aller von Ihnen eingegebenen Benutzer ab (wie in aufgeführt
/etc/passwd
)Um dem System einen Benutzer newuser hinzuzufügen , geben Sie Folgendes ein
um einen Benutzer zu erstellen, auf den alle Standardeinstellungen angewendet wurden.
Bonus: für jeden Benutzer hinzufügen (zum Beispiel anyuser ) zu einer Gruppe (zB CD - ROM ) -Typ
Mit löschen Sie einen Benutzer (zB obsolet )
Wenn Sie auch sein Heimatverzeichnis / seine E-Mails löschen möchten, geben Sie Folgendes ein
Und
entfernt den Benutzer und alle Dateien, die diesem Benutzer gehören, auf dem gesamten System.
quelle
getent passwd
Sie können auch die integrierte
compgen
GNU-Bash-Funktion verwenden :Listet alle Benutzer auf.
quelle
Dies sollte unter den meisten normalen Umständen alle normalen Benutzer (keine Systembenutzer, keine seltsamen Benutzer usw.) erreichen:
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 :
quelle
getent
anstatt direkt zu lesen/etc/passwd
und nachzuschlagenUID_MIN
/UID_MAX
anstatt die Werte hart zu codieren:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
Liste aller Benutzer, die sich anmelden können (keine Systembenutzer wie bin, deamon, mail, sys usw.)
Neuen Benutzer hinzufügen
oder
Benutzername löschen / entfernen
Wenn Sie das Home-Verzeichnis löschen möchten (standardmäßig das Verzeichnis / home / Benutzername)
oder
Wenn Sie alle Dateien von diesem Benutzer aus dem System löschen möchten (nicht nur das Basisverzeichnis)
quelle
adduser
und erklärenuseradd
.sudo
Fügen Sie dem ersten Befehl auch das -prefix hinzu. Die Passwort-Shadow-Datei kann nur als root gelesen werden.awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
zeigte mir alle Benutzer einschließlich ist, daemon usw. und diese Warnung warf: Escape - Sequenz\$' treated as plain
$‘fand ich diesen Beitrag stackoverflow.com/a/25867768/847954 und hinzugefügt mehr Backslash ein und es funktionierte gut:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
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. Es listet alle Befehle auf, die mit Benutzer als die ersten 4 Zeichen vorhanden sind.
gibt mir als mögliche optionen useradd userdel usermod users users-admin
wenn du mehr über einen befehl wissen willst google es oder tippe man man useradd gibt useradd - erstelle einen neuen benutzer oder aktualisiere standard neue benutzerinformationen ... ...
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 erspart mir, mich an Dinge zu erinnern.
quelle
Führen Sie die folgenden Befehle aus, um die Benutzer mit den Basisverzeichnissen im Ordner / home auf dem Computer zu ermitteln
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.
quelle
/home
. Während Ubuntu Benutzerverzeichnisse standardmäßig dort ablegt, ist dies in keiner Weise obligatorisch.ls /home
kann auch Benutzerverzeichnisse gelöschter Benutzer enthalten.