Användare är den viktigaste komponenten i ett Linux-system. Linux tillhandahåller inbyggda kommandon till administratörerna som gör det möjligt för dem att 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 i 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 i 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. Med hjälp av dessa filer kan du känna till information relaterad till användare som deras användarnamn, antal användare och mer.
Använda Passwd-filen
De passwd filen är en textfil som innehåller lösenordsposterna för alla användare som för närvarande finns i ditt system. Den här filen finns i
/etc katalog i din lokala lagring och innehåller följande information:- Användarnamn
- Krypterade lösenord
- användar ID
- Användarens grupp-ID
- Fullständiga namn
- De /home användarkatalog
- Användarens inloggningsskal
Typ katt / etc / passwd eller mindre / etc / passwd i din terminal för att läsa textfilen. Öppnar /etc/passwd filen genererar en utdata som ser ungefär så ut.
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
spel: x: 5: 60: spel: / usr / spel: / 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 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: '{skriv ut $ 1}' / 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 ovan nämnda kod:
- -F står för Fältavskiljare. Eftersom kolon-karaktären är avgränsare i /etc/passwd fil, passerar vi kolon som avgränsare i awk-kommandot.
- {skriv ut $ 1} instruerar systemet att skriva ut det första fältet. I det här fallet är det första fältet användarnamnet på användarna.
- /etc/passwd filen innehåller data relaterade till användarna.
Genom att utföra ovanstående kommando skickas användarnamnen till alla användare. Sedan /etc/passwd filen innehåller systemanvändare kommer utdata också att inkludera deras användarnamn.
rot
demon
soptunna
sys
synkronisera
spel
man
Du kan justera awk-kommandot något för att skriva ut användarnas fullständiga namn. Skriv in följande kommando för att visa fullständiga namn på användare i Linux:
awk -F: '{skriv ut $ 5}' / 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 har olika användarnamn och fullständiga namn.
Alternativt kan du också använda skära istället för kommandot awk. Syntaxen för snittet liknar ganska kommandot awk.
Så här skriver du ut användarnamnen i Linux med cut:
klipp -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.
Så här skriver du ut förnamn på användare med cut:
klipp -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.
Relaterad: Hur du ändrar ditt Linux-lösenord
Lista användare med getent-kommandot
Kommandot getent skriver ut innehållet i viktiga textfiler som fungerar som en databas för systemet. Filer som /etc/passwd och /etc/nsswitch.conf innehålla information relaterad till användare respektive nätverk och kan läsas med getent-kommandot.
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
spel: x: 5: 60: spel: / usr / spel: / bin / sh
man: x: 6: 12: man: / var / cache / man: / bin / sh
Du kan kedja getent-kommandot med awk eller klippa för att bara få en lista över användarnamn.
getent passwd | awk -F: '{skriv ut $ 1}'
getent passwd | klipp -d: -f1
Så här skriver du ut användarnas fullständiga namn:
getent passwd | awk -F: '{skriv ut $ 5}'
getent passwd | klipp -d: -f5
Kontrollera om en användare finns eller inte
I vissa situationer kanske du vill kontrollera om en användare finns på ditt Linux-system eller inte. De grep kommandot är användbart när du vill ta ett specifikt textmönster från en fil.
Du kan använda någon av följande kommandon för att kontrollera existensen av en användare.
compgen -u | grep-användarnamn
getent passwd | grep-användarnamn
Om användaren finns, visas inloggningsinformationen som är associerad med dem på skärmen. Å andra sidan, om användaren inte är närvarande i systemet, kommer ett fel att inträffa.
Så här kontrollerar du om en användare finns i ett system utan att använda grep:
getent passwd användarnamn
Du kan också pipa getent eller compgen kommando med grep och eko för att visa anpassad utdata.
getent passwd | grep -q användarnamn && echo "Användaren hittades" || echo "Användaren hittades inte"
compgen -u | grep -q användarnamn && echo "Användaren hittades" || echo "Användaren hittades inte"
Kommandot ovan skriver ut "Användaren hittades" om användaren finns i systemet och "Användaren hittades inte" om den inte gör det.
Räkna antalet användare i 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 ovanstående kommandon, compgen och getent ansvarar för att visa listan som innehåller alla användare och annan information 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 -l flagga betecknar Rader.
Verifiera användarkonton i Linux
Varje Linux-administratör borde veta hur de kan hantera och administrera andra användare i ett system. Att bemästra Linux-kommandon som låter dig skapa, ta bort, kontrollera och lista upp andra användare är ett utmärkt 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 installationen av din första Linux-distribution någonsin. Lär dig några grundläggande kommandon är en av dem och är nödvändig för att utföra enkla datoruppgifter på 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 distro till att installera appar.
- Linux
- Linux
Deepesh är Junior Editor för Linux på MUO. Han har skrivit informationsinnehåll på internet i över 3 år. På fritiden tycker han om att skriva, lyssna på musik och spela sin gitarr.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.