Nyheter i Android, Telefoner, Prylar Och Recensioner

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ändarbehörigheter. Men hur är det med 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 låter Linux dig läsa och ändra sådana filer utan några begränsningar. Genom att använda dessa filer kan du få information om användare som deras användarnamn, antalet användare och mer.

Använder Passwd-filen

De passwd fil är en textfil som innehåller lösenordsposterna 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:

    Användarnamn Krypterade lösenord Användar-ID Användargrupp-ID Fullständigt namn Den /Hem katalog för användarens inloggningsskal

Typ cat /etc/passwd eller mindre /etc/passwd i din terminal för att läsa textfilen. Öppnar /etc/passwd filen kommer att generera en utdata 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

Ovannämnda utdata innehåller sju fält som innehåller information relaterad till användarna. Dessa fält är åtskilda av en avgränsare — i detta fall kolon. Varje rad i utgången betecknar en enskild användare.

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

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

Awk är ett kommandoradsverktyg som låter Linux-användare skapa enkla “enrads”-program som utför snabba operationer från terminalen. I ovan nämnda kod:

    -F står för Field separator. Eftersom kolontecknet är avgränsaren i /etc/passwd fil skickar vi kolon som avgränsare i kommandot awk. { print $1} instruerar systemet att skriva ut det första fältet. I det här fallet är det första fältet användarnamnet för användarna. /etc/passwd filen innehåller data relaterade till användarna.
Relaterad  5 sätt att ta reda på vem den okända uppringaren är

Om du kör kommandot ovan kommer användarnamnen för alla användare att matas ut. Sedan /etc/passwd filen innehåller systemanvändare, kommer utdata även att inkludera 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 $5}' /etc/passwd

Eftersom systemanvändare har samma användarnamn och fullständiga namn kommer du inte att märka någon skillnad i utdata. Endast de användare som du har lagt till i ditt system kommer att ha andra användarnamn och fullständiga namn.

Alternativt kan du också använda skära istället för kommandot awk. Syntaxen för cut ä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 anger det första fältet (användarnamn), och /etc/passwd är textfilen som innehåller data.

Så här skriver du ut förnamnen på användare med cut:

cut -d: f5 /etc/passwd

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

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.

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

getent passwd

Utdata kommer att innehålla sju olika fält separerade av kolon. Varje fält är reserverat för särskild information inklusive användarnamn och hemkatalogsökvä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 gegent-kommandot med awk eller cut för att bara få listan över användarnamn.

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

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

getent passwd | awk -F: '{print $5}'
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 grep kommandot är praktiskt när du vill ta ett specifikt textmönster från en fil.

Relaterad  Tinder blockerar betalningar via Play Store, som Netflix och Spotify

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

compgen -u | grep username
getent passwd | grep username

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

För att kontrollera om en användare finns på ett system utan att använda grep:

getent passwd username

Du kan också röra gegent eller kompgen kommando med grep och eko 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 kommer att skriva ut “Användare hittades” om användaren finns på systemet och “Användaren 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 gegent är ansvariga för att visa listan som innehåller alla användare och annan information relaterad till dem. De toalett står för ordantal och används för att räkna antalet ord eller rader i utdata. De -l 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 bemästra Linux-kommandon som låter dig skapa, ta bort, kontrollera och lista ner 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 som 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 ett av dem och är viktigt för att utföra enkla datoruppgifter på Linux.

Relaterad  Xiaomi Mi Band 3-test: mästaren av anslutna armband

Om författaren

Deepesh Sharma (110 publicerade artiklar)

Deepesh är Junior Editor för Linux på MUO. Han skriver informationsguider om Linux, i syfte att ge alla nykomlingar en lycksalig upplevelse. Inte säker på filmer, men om du vill prata om teknik är han din kille.

Mer från Deepesh Sharma

Prenumerera på vårt nyhetsbrev

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

Klicka här för att prenumerera