Hur man listar användare i Linux

Operativsystemet Linux erbjuder kommandon för att skapa och ta bort användare och kontrollera vilka som är inloggade. Det finns dock inget kommando för att lista användare, inloggade eller inte, på systemet.

Ändå finns det ett par sätt att lösa detta. Om du vill lära dig hur du listar användare i Linux, följ våra steg nedan.

Varför du bör kontrollera din Linux-användarlista

Det finns ett antal anledningar till att du kanske vill lista användare i Linux. Det är en bra praxis när det gäller att hitta och ta bort oanvända konton, för en. Ur säkerhetssynpunkt är det också ett bra sätt att se till att du inte har inkräktare som skapar användarkonton.

Detta är en administrativ uppgift som du förmodligen bör göra minst en gång i månaden. Om du kör en företags Linux-server kanske du vill göra det oftare.

Användare listade i /etc/passwd

Alla din Linux-servers användarkonton har poster i filen /etc/passwd . Varje rad representerar en användare och har sju fält separerade med kolon. Fälten ger information om användaren.

  • Användarnamn.
  • Krypterat lösenord ( x anger att lösenordet faktiskt finns i /etc/shadow )
  • Användar-ID-nummer (UID).
  • Användarens grupp-ID-nummer (GID).
  • Användarens fullständiga namn, om det finns med.
  • Användarens hemkatalog.
  • Inloggningsskal

Så, det leder oss till ett sätt att lista alla användare på Linux. Du kan använda kommandot less för att se hela filen, en skärm i taget.

less /etc/passwd

Hur man listar användare i Linux

Om du vill kontrollera om en viss användare finns i Linux-systemet, är det en bra användning för kommandot grep :

less passwd | grep jeff

Hur man listar användare i Linux

Om du inte får någon utdata finns den användaren inte på Linux-servern.

Ändå är det mycket information. Du kan trimma ner det till bara användarnamnet, till exempel genom att använda antingen awk- eller cut -kommandona:

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

Hur man listar användare i Linux

Det brukar vara mycket lättare att förstå, men det låter dig fortfarande se alla systembaserade användarkonton blandat med dina mänskliga användare.

Hur man använder getent för att lista användare

Ett annat kommando, getent , är mycket mer användbart. Den visar poster från vilken databas som helst som är konfigurerad i din servers /etc/nsswitch.conf-fil . En av dessa är passwd- databasen. För att använda getent för att visa en lista över alla Linux-användare fungerar det så här:

getent passwd

Utdatan ser exakt likadan ut som att använda kommandot less , men listar alla LDAP-användare på Linux-systemet. Återigen kan våra awk och cut -kommandon hjälpa till att bara se det första fältet, användarnamnen.

Om du vill kontrollera om en viss användare finns i Linux-systemet, gör getent det enkelt:

getent passwd jeff

Återigen, ingen utdata från detta kommando talar om för dig att användaren inte existerar.

En annan fantastisk användning för getent är att ta reda på hur många användarkonton som finns på servern. Detta görs genom att leda getens utdata via wc- kommandot, så här:

getent passwd | wc -l

Hur man listar användare i Linux

Som du kan se har mitt Linux-system totalt 48 konton. Ganska intressant, eftersom jag är den enda som använder det, men det visar bara hur många systemkonton som skapas i Linux.

Sålla ut systemanvändare från normala användare

I Linux ögon är det ingen skillnad mellan en systemanvändare och en mänsklig. Varje gång du installerar operativsystemet skapas ett antal systemanvändare. Andra systemanvändare skapas för olika paket, som webb- eller e-posttjänstprogram.

Så, hur kan du lista bara vanliga, mänskliga användare på Linux-systemet? Nyckeln här är att förstå att när du skapar en vanlig användare, tilldelas dess UID inom ett visst antal siffror. Genom att kontrollera filen /etc/login.defs kan vi bestämma intervallet av UID-värden som är tillgängliga för vanliga användarkonton.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Hur man listar användare i Linux

Baserat på resultatet vet jag att normala användare bör ha ett UID mellan 1000 och 60000. Utifrån detta kan jag konstruera en getent -fråga som bara visar normala användare.

getent passwd {1000..60000}

Hur man listar användare i Linux

Tänk på att getent kommer att tyckas hänga sig även efter att det visar sin utdata. Du kan trycka på Ctrl-C för att avsluta processen, eller vänta tills den är klar. Det tar vanligtvis mindre än 15 sekunder att slutföra sökningen i passwd -databasen.

En mer generisk version av detta kommando tar hänsyn till olika UID_MIN- och UID_MAX -värden som olika servrar kan använda.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

I det kommandot drar vi fördel av Linuxs förmåga att göra flera saker samtidigt. awk - kommandona får UID_MIN- och UID_MAX -värdena och använd dem sedan i getent -kommandot.

Låt oss säga att allt vi vill ha är användarnamnen. Återigen leder vi vår utdata genom cut -kommandot, så här:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

Hur man listar användare i Linux

Detta kommando kan ta 10 till 15 sekunder att slutföra, så ha tålamod.

Hantera dina Linux-användare effektivt

Det är viktigt att hålla reda på vilka användarkonton som finns på ditt Linux-system. När du vet att en anställd har lämnat, var snabb att ta bort deras användarkonto. Att regelbundet lista dina Linux-användare hjälper till att se till att du fångar alla konton som kan ha fastnat.

Se samtidigt till att hålla koll på lösenordssäkerhetspolicyerna och uppmuntra dina användare att ändra sina lösenord regelbundet.

Tags: #HUR

[100% löst] Hur åtgärdar jag meddelandet Fel vid utskrift i Windows 10?

[100% löst] Hur åtgärdar jag meddelandet Fel vid utskrift i Windows 10?

Får felmeddelande om utskrift på ditt Windows 10-system, följ sedan korrigeringarna i artikeln och få din skrivare på rätt spår...

Hur man fångar och spelar en Microsoft Teams-inspelning

Hur man fångar och spelar en Microsoft Teams-inspelning

Du kan enkelt besöka dina möten igen om du spelar in dem. Så här spelar du in en Microsoft Teams-inspelning för ditt nästa möte.

Hur man återställer standardappar på Android

Hur man återställer standardappar på Android

När du öppnar en fil eller klickar på en länk väljer din Android-enhet en standardapp för att öppna den. Du kan återställa dina standardappar på Android med den här guiden.

FIXAT: Entitlement.diagnostics.office.com certifikatfel

FIXAT: Entitlement.diagnostics.office.com certifikatfel

FIXAT: Entitlement.diagnostics.office.com certifikatfel

Topp 10 spelwebbplatser som inte blockerades av skolan 2022

Topp 10 spelwebbplatser som inte blockerades av skolan 2022

För att ta reda på de bästa spelsajterna som inte blockeras av skolor, läs artikeln och välj den bästa oblockerade spelwebbplatsen för skolor, högskolor och verk

FIXAT: Skrivare i feltillstånd [HP, Canon, Epson, Zebra & Brother]

FIXAT: Skrivare i feltillstånd [HP, Canon, Epson, Zebra & Brother]

Om du står inför problemet med skrivaren i feltillstånd på Windows 10 PC och inte vet hur du ska hantera det, följ dessa lösningar för att fixa det.

Så här säkerhetskopierar du din Chromebook (2022)

Så här säkerhetskopierar du din Chromebook (2022)

Om du undrar hur du säkerhetskopierar din Chromebook, så hjälper vi dig. Läs mer om vad som säkerhetskopieras automatiskt och vad som inte görs här

Så här fixar du att Xbox-appen inte öppnas i Windows 10 [SNABBGUIDE]

Så här fixar du att Xbox-appen inte öppnas i Windows 10 [SNABBGUIDE]

Vill du fixa Xbox-appen öppnas inte i Windows 10, följ sedan korrigeringarna som Aktivera Xbox-appen från tjänster, återställ Xbox-appen, Återställ Xbox-apppaketet och andra.

Vad är LogiOptions.exe (UNICODE) och är processen säker?

Vad är LogiOptions.exe (UNICODE) och är processen säker?

Om du har ett Logitech-tangentbord och -mus kommer du att se den här processen köras. Det är inte skadlig programvara, men det är inte en viktig körbar fil för Windows OS.

Fixat Java Update/Install Error 1603 i Windows 10

Fixat Java Update/Install Error 1603 i Windows 10

Läs artikeln för att lära dig hur du fixar Java Update-fel 1603 i Windows 10, prova korrigeringarna en efter en och fixa fel 1603 enkelt ...