Hur man listar användare i Linux

How List Users Linux



Linux är ett operativsystem för flera användare. För att systemet ska fungera och vara produktivt krävs korrekt användarhantering. För en systemadministratör är det nödvändigt att känna till alla användare för att hantera användare och behörigheter.

Den här guiden visar hur du listar användare i Linux.







Noterar användare

Systemet lagrar användarlistan i specifika filer och databaser. Vi kan komma åt dem med olika verktyg. Vi kan också filtrera utdata för att samla in specifik information.



Lista användare från /etc /passwd
Filen /etc /passwd är en ren textbaserad databas som innehåller information om alla användare i systemet. Filen ägs av root med filtillståndet 644. För en fördjupad förklaring av filbehörigheter, kolla in den här guiden om Linux-filtillstånd och äganderätt.



Vi kan kontrollera innehållet i filen /etc /passwd för att få en omfattande lista över alla användare i systemet.





$ cat /etc /passwd | sortera | mindre

Varje rad i filen betecknar ett unikt användarnamn och tillhörande information. Informationen är indelad i sju fält, avgränsade av kolon. Här är en snabb genomgång av fälten.



  • Fält 1: Användarens användarnamn.
  • Fält 2: Det beskriver om användarlösenordet är krypterat. Om värdet är x betyder det att lösenordet lagras i textfilen /etc /shadow. Det är en systemskyddad fil som kräver sudo-behörighet för åtkomst.
  • Fält 3: Användarens UID (användar -ID).
  • Fält 4: GID (grupp -ID) för användaren.
  • Fält 5: Fullständigt användarnamn (GECOS).
  • Fält 6: Hemkatalog tillägnad användaren.
  • Fält 7: Användarens inloggningsskal. Som standard skulle detta värde vara inställt på /bin /bash.

Om ytterligare information inte är nödvändig för tillfället kan vi utelämna dem i utdata.

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

$ cat /etc /passwd | klipp -d: -f1 | sortera

Listar användare som använder getent
Termen getent är en kort form för att få poster från den administrativa databasen. Som det antyder kan getent arbeta med olika administrativa databaser. Kolla in alla administrativa databaser som stöds.

$ getent --hjälp

Vi är intresserade av passwd -databasen eftersom den innehåller information om alla användare i systemet. Kolla in passwd databas med getent.

$ getent passwd | sortera

Utdata liknar innehållet i /etc /passwd. Observera att detta getent -kommando visar användare från både passwd- och LDAP -databaser om systemet är konfigurerat för att använda LDAP för användarautentisering. För mer ingående användning, kolla in den här guiden för Linux getent-kommandot.

Vi kan ta bort all ytterligare information från utdata och behålla endast användarnamnet.

$ getent passwd | awk -F: '{print $ 1}' | sortera

$ getent passwd | klipp -d: -f1 | sortera

Visar användare av en grupp
I Linux är grupper organisationsenheter för att organisera och administrera användarkonton. Det hjälper till att hantera de olika system- och filtillstånden lättare.

För att lista alla användare från en viss användargrupp kan vi använda getent.

$ getent grupp

Använda användarlistan

Vi vet nu hur vi listar alla användare i systemet. Här är några scenarier för att tillämpa denna kunskap.

Kontrollerar användarens existens
Från användarlistan kan vi kontrollera om det finns en användare i Linux -systemet. Getent -verktyget kan kontrollera om användaren finns i systemet.

$ getent passwd

En annan (om än inte så bra) metod är att använda grep. Vi kan helt enkelt filtrera listan över användare med grep. Eftersom varje användare har sin egen unika post genererar den inga kollisioner.

$ getent passwd | grep

Antal användarkonton
Som vi har sett hittills rapporterar alla metoder en unik användare på varje rad i utdata. Genom att räkna radnumret kan vi kontrollera hur många användare som finns i systemet.

För att räkna radnumret använder vi toalett verktyg. Rör getent -utmatningen till wc -kommandot.

$ getent passwd | wc -l

Lista anslutna användare
Om flera användare har loggat in kan vi kontrollera listan över anslutna användare med WHO kommando.

$ vem

Det finns tre olika informationskolumner i utdata.

  • Kolumn 1: Det anslutna användarnamnet.
  • Kolumn 2: Typ av anslutning till systemet.
  • Kolumn 3: Starttid och datum för sessionen.

Slutgiltiga tankar

I denna handledning demonstrerade vi hur man listar och filtrerar användare i systemet. Det visar också några av de potentiella användningsområdena i användarlistan. Dessa metoder fungerar oavsett vilken Linux -distro du använder.

Användarhantering är en stor del av Linux -ekosystemet. För att lära dig mer, kolla in den här fördjupade guiden på hur man listar och hanterar användare i Linux .

Lycka till med datorer!