Har du nogensinde ønsket at liste alle brugere i dit Linux-system eller at tælle antallet af brugere i systemet? Der er kommandoer til at oprette en bruger, slette en bruger, liste logget på brugere, men hvad er kommandoen til at liste alle brugere i Linux?
Denne vejledning viser dig, hvordan du viser brugere i Linux-systemer.
Hent en liste over alle brugere ved hjælp af filen / etc / passwd #
Lokale brugeroplysninger gemmes i /etc/passwd
-filen. Hver linje i denne fil repræsenterer loginoplysninger for en bruger. For at åbne filen kan du enten bruge cat
eller less
:
Hver linje i filen har syv felter afgrænset af kolon, der indeholder følgende oplysninger:
Hvis du kun vil vise brugernavn, du kan bruge kommandoer awk
eller cut
til kun at udskrive det første felt, der indeholder brugernavnet:
Få en liste over alle brugere ved hjælp af getent-kommandoen #
Kommandoen getent
viser poster fra databaser konfigureret i /etc/nsswitch.conf
-fil, inklusive passwd
database, som kan bruges til at søge på en liste over alle brugere.
For at få en liste over alle Linux-brugere, skal du indtaste følgende kommando :
Som du kan se, er output det samme som når du viser indholdet af /etc/passwd
-filen. Hvis du bruger LDAP til brugergodkendelse, viser getent
alle Linux-brugere fra både /etc/passwd
-filen og LDAP-databasen.
Du kan også bruge awk
eller cut
til kun at udskrive det første felt, der indeholder brugernavnet:
Kontroller, om der findes en bruger i Linux-systemet #
Nu hvor vi ved, hvordan vi skal liste alle brugere, for at kontrollere, om en bruger findes i vores Linux-boks, kan vi bare filtrere brugernes “liste ved at føre listen til kommandoen grep
.
For eksempel til find ud af, om en bruger med navnet jack
findes i vores Linux-system, kan vi bruge følgende kommando:
Hvis brugeren findes, udskriver kommandoen ovenfor brugerens login Information. Ingen output, der betyder, at brugeren ikke eksisterer.
Vi kan også kontrollere, om en bruger eksisterer uden at bruge kommandoen grep
som vist nedenfor:
Samme som før, hvis brugeren findes, viser kommandoen brugerens loginoplysninger.
Hvis du vil finde ud af, hvor mange brugerkonti du har på dit system, rør getent passwd
output til wc
kommandoen:
Som du kan se fra output ovenfor, har mit Linux-system 33 brugerkonti.
System- og normale brugere #
Der er ingen reel teknisk forskel mellem systemet og almindelige (normale) brugere. Typisk oprettes systembrugere, når de installerer OS og nye pakker. I nogle tilfælde kan du oprette en systembruger, der vil blive brugt af nogle applikationer.
Normale brugere er de brugere, der er oprettet af roden eller en anden bruger med sudo-rettigheder. Normalt har en normal bruger en ægte login-shell og en hjemmekatalog.
Hver bruger har et numerisk bruger-id kaldet UID. Hvis ikke angivet, når der oprettes en ny bruger med kommandoen useradd
, vælges UID automatisk fra /etc/login.defs
-filen afhængigt af UID_MIN
og UID_MIN
værdier.
For at kontrollere UID_MIN
og UID_MIN
værdier på dit system, kan du bruge følgende kommando:
Fra ovenstående output kan vi se, at alle normale brugere skal have en UID mellem 1000 og 60000. At kende den minimale og maksimale værdi giver os mulighed for at forespørge på en liste over alle normale brugere i vores system.
Kommandoen nedenfor viser alle normale brugere i vores Linux-system:
Dit system UID_MIN
og UID_MIN
værdier kan være forskellige, så den mere generiske version af kommandoen ovenfor ville være:
Hvis du kun vil udskrive brugernavne, skal du bare røre output til kommandoen cut
:
Konklusion #
I denne vejledning lærte du, hvordan man liste og filtrerer brugere i dit Linux-system, og hvad er de største forskelle mellem system og normal Linux brugere.
De samme kommandoer gælder for enhver Linux-distribution, inklusive Ubuntu, CentOS, RHEL, Debian og Linux Mint.