Linux -operativsystemet tilbyr kommandoer for å opprette og slette brukere og sjekke hvilke som er pålogget. Det er imidlertid ingen kommando for å liste brukere, påloggede eller ikke, på systemet.
Likevel er det et par måter å løse dette på. Hvis du vil lære hvordan du viser brukere i Linux, følg trinnene nedenfor.
Hvorfor du bør sjekke Linux-brukerlisten din
Det er flere grunner til at du kanskje vil liste opp brukere i Linux. Det er en god praksis når det gjelder å finne og slette ubrukte kontoer. Fra et sikkerhetssynspunkt er det også en god måte å sørge for at du ikke har inntrengere som oppretter brukerkontoer.
Dette er en administrativ oppgave som du sannsynligvis bør gjøre minst en gang i måneden. Hvis du kjører en bedrifts Linux-server, kan det være lurt å gjøre det oftere.
Brukere oppført i /etc/passwd
Alle Linux-serverens brukerkontoer har oppføringer i filen /etc/passwd . Hver linje representerer en bruker, og har syv felt atskilt med kolon. Feltene gir informasjon om brukeren.
- Brukernavn.
- Kryptert passord ( x indikerer at passordet faktisk er i /etc/shadow )
- Bruker-ID-nummer (UID).
- Brukerens gruppe-ID-nummer (GID).
- Fullt navn på brukeren, hvis oppført.
- Bruker hjemmekatalog.
- Innloggingsskall
Så det bringer oss til én måte å liste opp alle brukerne på Linux. Du kan bruke mindre- kommandoen for å se hele filen, én skjerm om gangen.
less /etc/passwd

Hvis du vil sjekke om en bestemt bruker finnes i Linux-systemet, er det en god bruk for kommandoen grep :
less passwd | grep jeff
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Hvis du ikke får noe utdata, eksisterer ikke den brukeren på Linux-serveren.
Likevel er det mye informasjon. Du kan trimme det ned til bare brukernavnet, for eksempel ved å bruke enten awk eller cut- kommandoene:
awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Det pleier å være mye lettere å forstå, men det lar deg fortsatt se alle de systembaserte brukerkontoene blandet med dine menneskelige brukere.
Hvordan bruke getent til å liste brukere
En annen kommando, gegent , er mye mer nyttig. Den viser oppføringer fra enhver database som er konfigurert i serverens /etc/nsswitch.conf-fil . En av disse er passwd -databasen. For å bruke getent til å vise en liste over alle Linux-brukere, fungerer det slik:
getent passwd
Utdataene ser nøyaktig det samme ut som å bruke less- kommandoen, men viser alle LDAP-brukere på Linux-systemet. Nok en gang kan våre awk og cut- kommandoer hjelpe til med å se bare det første feltet, brukernavnene.
Hvis du vil sjekke om en bestemt bruker finnes i Linux-systemet, gjør getent det enkelt:
getent passwd jeff
Igjen, ingen utdata fra denne kommandoen forteller deg at brukeren ikke eksisterer.
En annen fantastisk bruk for getent er å finne ut hvor mange brukerkontoer som finnes på serveren. Dette gjøres ved å sende getens utgang gjennom wc- kommandoen, slik:
getent passwd | wc -l
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Som du kan se, har Linux-systemet mitt totalt 48 kontoer. Ganske interessant, siden jeg er den eneste som bruker det, men det viser bare hvor mange systemkontoer som er opprettet i Linux.
Lukke ut systembrukere fra normale brukere
I Linux øyne er det ingen forskjell mellom en systembruker og en menneskelig. Hver gang du installerer operativsystemet, oppretter det en rekke systembrukere. Andre systembrukere blir opprettet for ulike pakker, som web- eller e-posttjenesteprogramvare.
Så, hvordan kan du liste opp bare vanlige, menneskelige brukere på Linux-systemet? Nøkkelen her er å forstå at når du oppretter en vanlig bruker, tildeles dens UID innenfor et visst tallområde. Ved å sjekke filen /etc/login.defs kan vi bestemme rekkevidden av UID-verdier som er tilgjengelige for vanlige brukerkontoer.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Basert på utdataene vet jeg at vanlige brukere bør ha en UID mellom 1000 og 60000. Fra dette kan jeg konstruere en getent -spørring som kun vil vise vanlige brukere.
getent passwd {1000..60000}
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Husk at getent ser ut til å henge selv etter at den viser utdata. Du kan trykke Ctrl-C for å avslutte prosessen, eller vente til den er ferdig. Det tar vanligvis mindre enn 15 sekunder å fullføre søket i passwd- databasen.
En mer generisk versjon av denne kommandoen tar hensyn til ulike UID_MIN- og UID_MAX- verdier som ulike servere kan bruke.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
I den kommandoen drar vi nytte av Linuxs evne til å gjøre flere ting samtidig. awk - kommandoene får UID_MIN- og UID_MAX- verdiene, og bruk dem deretter i getent -kommandoen.
Nå, la oss si at alt vi ønsker er brukernavnene. Nok en gang sender vi utdataene våre gjennom cut- kommandoen, slik:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
![Hvordan liste brukere i Linux Hvordan liste brukere i Linux]()
Denne kommandoen kan ta 10 til 15 sekunder å fullføre, så vær tålmodig.
Effektiv administrering av Linux-brukere
Det er viktig å holde styr på hvilke brukerkontoer som finnes på Linux-systemet ditt. Når du vet at en ansatt har sluttet, vær rask med å slette brukerkontoen deres. Regelmessig oppføring av Linux-brukerne vil bidra til å sikre at du fanger opp kontoer som kan ha sittet fast.
Sørg samtidig for å følge med på retningslinjene for passordsikkerhet og oppfordre brukerne til å endre passordene sine regelmessig.