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.