Hur listar du användare i Linux

Har du någonsin velat lista alla användare i ditt Linux-system eller att räkna antalet användare i systemet? Det finns kommandon för att skapa en användare, radera en användare, lista inloggade användare, men vad är kommandot för att lista alla användare i Linux?

Denna handledning visar hur man listar användare i Linux-system.

Skaffa en lista över alla användare med fil / etc / passwd #

Lokal användarinformation lagras i filen /etc/passwd. Varje rad i den här filen representerar inloggningsinformation för en användare. För att öppna filen kan du antingen använda cat eller less:

Varje rad i filen har sju fält avgränsade med kolon som innehåller följande information:

Om du bara vill visa användarnamn kan du använda kommandona awk eller cut för att bara skriva ut det första fältet som innehåller användarnamnet:

Få en lista över alla användare med getent-kommandot #

Kommandot getent visar poster från databaser konfigurerade i /etc/nsswitch.conf -fil, inklusive passwd databas, som kan användas för att fråga en lista över alla användare.

För att få en lista över alla Linux-användare, skriv in följande kommando :

Som du ser är utsignalen densamma som när du visar innehållet i /etc/passwd -filen. Om du använder LDAP för användarautentisering kommer getent att visa alla Linux-användare från både /etc/passwd -filen och LDAP-databasen.

Du kan också använda awk eller cut för att bara skriva ut det första fältet som innehåller användarnamnet:

Kontrollera om en användare finns i Linux-systemet #

Nu när vi vet hur man listar alla användare, för att kontrollera om en användare finns i vår Linux-ruta, kan vi helt enkelt filtrera användarnas ”lista genom att leda listan till grep -kommandot.

Till exempel för att ta reda på om en användare med namn jack finns i vårt Linux-system kan vi använda följande kommando:

Om användaren finns kommer kommandot ovan att skriva ut användarens inloggning information. Ingen utdata som betyder att användaren inte finns.

Vi kan också kontrollera om en användare finns utan att använda kommandot grep som visas nedan:

Samma som tidigare, om användaren finns kommer kommandot att visa användarens inloggningsinformation.

Om du vill ta reda på hur många användarkonton du har på ditt system, rör kommandot getent passwd till wc -kommandot:

Som du kan se från utdata ovan har mitt Linux-system 33 användarkonton.

System och normala användare #

Det finns ingen verklig teknisk skillnad mellan systemet och vanliga (normala) användare. Normalt skapas systemanvändare när de installerar operativsystemet och nya paket. I vissa fall kan du skapa en systemanvändare som kommer att användas av vissa applikationer.

Normala användare är de användare som skapats av roten eller en annan användare med sudo-behörigheter. Vanligtvis har en vanlig användare ett riktigt inloggningsskal och en hemkatalog.

Varje användare har ett numeriskt användar-ID som heter UID. Om det inte anges när du skapar en ny användare med kommandot useradd kommer UID automatiskt att väljas från /etc/login.defs -filen beroende på UID_MIN och UID_MIN värden.

Kontrollera UID_MIN och UID_MIN värden på ditt system kan du använda följande kommando:

Från utdata ovan kan vi se att alla normala användare ska ha ett UID mellan 1000 och 60000. Att känna till det minimala och maximala värdet gör att vi kan fråga en lista över alla normala användare i vårt system.

Kommandot nedan visar alla vanliga användare i vårt Linux-system:

Ditt system UID_MIN och UID_MIN kan vara olika så att den mer generiska versionen av kommandot ovan skulle vara:

Om du bara vill skriva ut användarnamnen, rör bara utgången till kommandot cut:

Slutsats #

I denna handledning lärde du dig hur man listar och filtrerar användare i ditt Linux-system och vilka är de viktigaste skillnaderna mellan system och normal Linux användare.

Samma kommandon gäller för alla Linux-distributioner, inklusive Ubuntu, CentOS, RHEL, Debian och Linux Mint.

Leave a Reply

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *