Hur man listar alla användare i Linux

Hur man listar alla användare i Linux

Användare är den viktigaste komponenten i ett Linux -system. Linux tillhandahåller inbyggda kommandon till administratörerna som gör att de kan hantera användare effektivt. Det finns en för att skapa användare, ta bort användare och ändra användarrättigheter. Men vad sägs om att lista alla användare som för närvarande finns på ett system?





I den här artikeln kommer vi att diskutera hur du kan få en lista över alla användare i Linux, tillsammans med en kort guide för att kontrollera om en användare finns på ett system eller inte.





Hur man visar en lista över alla användare i Linux

När du skapar en ny användare lagras användarnamnet, lösenordet och andra detaljer i specifika filer på en Linux -maskin. Lyckligtvis tillåter Linux dig att läsa och ändra sådana filer utan några begränsningar. Med hjälp av dessa filer kan du få information om användare som deras användarnamn, antalet användare och mer.





Använda Passwd -filen

De passwd filen är en textfil som innehåller lösenordsregistren för alla användare som för närvarande finns i ditt system. Denna fil finns i /etc katalog i din lokala lagring och innehåller följande information:

  1. Användarnamn
  2. Krypterade lösenord
  3. användar ID
  4. Användarens grupp -ID
  5. Fullständiga namn
  6. De /Hem användarens katalog
  7. Användarens inloggningsskal

Typ cat /etc /passwd eller mindre /etc /passwd i din terminal för att läsa textfilen. Öppnar /etc/passwd filen genererar en utmatning som ser ut ungefär så här.



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Ovan nämnda utdata innehåller sju fält som innehåller information relaterad till användarna. Dessa fält är åtskilda med en avgränsare --- i detta fall kolon. Varje rad i utdata betecknar en enda användare.

För att få en lista över alla användarnamn med hjälp av passwd fil:





awk -F: '{ print }' /etc/passwd

Awk är ett kommandoradsverktyg som tillåter Linux-användare att skapa enkla 'enradiga' program som utför snabba operationer från terminalen. I koden ovan:

  1. -F står för Field separator. Eftersom kolonkaraktären är avgränsaren i /etc/passwd fil, passerar vi kolon som separator i kommandot awk.
  2. {print $ 1} instruerar systemet att skriva ut det första fältet. I det här fallet är det första fältet användarnamn.
  3. /etc/passwd filen innehåller data som är relaterade till användarna.

Genom att utföra ovanstående kommando kommer alla användarnamn att matas ut. Sedan /etc/passwd filen innehåller systemanvändare, kommer utdata också att innehålla deras användarnamn.





root
daemon
bin
sys
sync
games
man

Du kan justera kommandot awk något för att skriva ut användarnas fullständiga namn. Skriv in följande kommando för att visa de fullständiga namnen på användare i Linux:

awk -F: '{ print }' /etc/passwd

Eftersom systemanvändare har samma användarnamn och fullständiga namn märker du ingen skillnad i utdata. Endast de användare som du har lagt till i ditt system kommer att ha olika användarnamn och fullständiga namn.

Alternativt kan du också använda skära istället för kommandot awk. Syntaxen för klippning är ganska lik kommandot awk.

Så här skriver du ut användarnamnen i Linux med cut:

cut -d: f1 /etc/passwd

Här, -d är avgränsaren, f1 betecknar det första fältet (användarnamn) och /etc/passwd är textfilen som innehåller data.

bästa sättet att köpa en macbook

Så här skriver du ut användarnas förnamn med cut:

cut -d: f5 /etc/passwd

På samma sätt kan du mata ut andra fält från /etc/passwd filen genom att helt enkelt byta ut f5 med f1-f7 .

Relaterad: Så här ändrar du ditt Linux -lösenord

Lista användare med kommandot getent

Kommandot getent skriver ut innehållet i viktiga textfiler som fungerar som en databas för systemet. Filer som t.ex. /etc/passwd och /etc/nsswitch.conf innehåller information relaterad till användare respektive nätverk och kan läsas med kommandot getent.

tyvärr har Google Play -tjänster stoppat Samsung -surfplattan

För att skriva ut innehållet i /etc/passwd fil med getent:

getent passwd

Utdata kommer att innehålla sju olika fält åtskilda av kolon -tecknet. Varje fält är reserverat för särskild information, inklusive användarnamn och hemkatalogvägar för användarna.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Du kan kedja getent -kommandot med awk eller cut för att bara få en lista över användarnamn.

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

Så här skriver du ut användarnas fullständiga namn:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

Kontrollera om en användare finns eller inte

I vissa situationer kanske du vill kontrollera om det finns en användare på ditt Linux -system eller inte. De grepp kommandot är praktiskt när du vill ta ett specifikt textmönster från en fil.

Du kan använda något av följande kommandon för att kontrollera att en användare finns.

compgen -u | grep username
getent passwd | grep username

Om användaren finns visas inloggningsinformationen som är kopplad till dem på skärmen. Å andra sidan, om användaren inte finns i systemet, uppstår ett fel.

Så här kontrollerar du om en användare finns på ett system utan att använda grep:

getent passwd username

Du kan också rör getent eller kompgen kommando med grepp och kastade ut för att visa anpassad utdata.

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

Kommandot ovan skriver ut 'Användare hittad' om användaren finns på systemet och 'Användare hittades inte' om den inte gör det.

Räkna antalet användare på ett system

Så här räknar du antalet användare som finns på ett Linux -system:

compgen -u | wc -l
getent passwd | wc -l

I kommandona ovan, kompgen och getent är ansvariga för att visa listan som innehåller alla användare och annan information som är relaterad till dem. De toalett står för ordräkning och används för att räkna antalet ord eller rader i utdata. De -de flaggan betecknar Rader .

Verifiera användarkonton i Linux

Varje Linux -administratör bör veta hur de kan hantera och administrera andra användare på ett system. Att behärska Linux -kommandon som låter dig skapa, ta bort, styra och lista andra användare är ett bra sätt att komma igång med användarhantering.

Att bli bekväm med Linux -miljön bör vara ditt första mål om du bara är nybörjare. Det finns vissa saker du måste göra direkt efter att du har installerat din första Linux -distribution någonsin. Att lära sig några grundläggande kommandon är en av dem och är avgörande för att utföra enkla datoruppgifter på Linux.

Dela med sig Dela med sig Tweet E-post Hur man kommer igång med Linux

Intresserad av att använda Linux men vet inte var du ska börja? Lär dig hur du använder Linux, från att välja en distro till att installera appar.

Läs Nästa
Relaterade ämnen
  • Linux
  • Linux
Om författaren Deepesh Sharma(79 artiklar publicerade)

Deepesh är Junior Editor för Linux på MUO. Han skriver informationsguider på Linux, i syfte att ge alla nykomlingar en lycklig upplevelse. Osäker på filmer, men om du vill prata om teknik är han din kille. På fritiden kan du hitta honom läsa böcker, lyssna på olika musikgenrer eller spela gitarr.

Mer från Deepesh Sharma

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera