
Sist oppdatert den

Det er viktig å vite hvem som har tilgang til din Linux-PC (og kontroll over filene dine), men du kan enkelt liste brukere i Linux for å finne ut av det. Dette er hvordan.
De Linux operativsystem tilbyr kommandoer for å opprette og slette brukere og sjekke hvilke som er pålogget. Det er imidlertid ingen kommando for å liste brukere, pålogget 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ølger du trinnene nedenfor.
Hvorfor du bør sjekke Linux-brukerlisten din
Det er flere grunner til at du kanskje vil liste brukere i Linux. Det er en god praksis når det gjelder å finne og slette ubrukte kontoer, for en. Fra et sikkerhetssynspunkt er det også en god måte å sikre 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, vil du kanskje 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 inne /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 kommando for å se hele filen, én skjerm om gangen.
mindre /etc/passwd.

Hvis du vil sjekke om en bestemt bruker finnes i Linux-systemet, er det en god bruk for kommandoen grep:
mindre passwd | grep jeff.

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 skjære kommandoer:
awk -F: '{print $1}' /etc/passwd. kutt -d: -f1 /etc/passwd.

Det har en tendens til å 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, høflig, er mye mer nyttig. Den viser oppføringer fra hvilken som helst database som er konfigurert på serveren din /etc/nsswitch.conf fil. En av disse er passwd database. Å bruke høflig for å vise en liste over alle Linux-brukere, fungerer det slik:
godt passwd
Utgangen ser nøyaktig den samme ut som å bruke mindre kommandoen, men viser eventuelle LDAP-brukere på Linux-systemet. Nok en gang vår awk og skjære kommandoer kan hjelpe å se bare det første feltet, brukernavnene.
Hvis du vil sjekke om en bestemt bruker finnes i Linux-systemet, høflig gjør det enkelt:
getent passwd jeff.
Igjen, ingen utdata fra denne kommandoen forteller deg at brukeren ikke eksisterer.
Nok en fantastisk bruk for høflig er å finne ut hvor mange brukerkontoer som finnes på serveren. Dette gjøres ved hjelp av rør høfligsin utgang gjennom toalett kommando, slik:
getent passwd | wc -l.

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 /etc/login.defs fil, kan vi bestemme rekkevidden av UID-verdier som er tilgjengelige for vanlige brukerkontoer.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.

Basert på utdataene vet jeg at vanlige brukere bør ha en UID mellom 1000 og 60000. Fra dette kan jeg konstruere en høflig spørring som bare viser vanlige brukere.
getent passwd {1000..60000}

Husk, høflig vil se ut til å henge selv etter at den viser utdata. Du kan trykke Ctrl-C for å avslutte prosessen, eller vent til den er ferdig. Det tar vanligvis mindre enn 15 sekunder å fullføre søket passwd database.
En mer generisk versjon av denne kommandoen tar hensyn til forskjellige UID_MIN og UID_MAX verdier ulike servere kan bruke.
eval gegent 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. De awk kommandoer får UID_MIN og UID_MAX verdier, og bruk dem deretter i høflig kommando.
Nå, la oss si at alt vi vil ha er brukernavnene. Nok en gang rører vi produksjonen vår gjennom skjære kommando, slik:
eval gegent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | kutt -d: -f1.

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 dine vil bidra til å sikre at du fanger opp kontoer som kan ha sittet fast.
Samtidig, sørg for å holde på toppen retningslinjer for passordsikkerhet og oppmuntre brukerne dine til endre passordene deres jevnlig.