GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat seznam uživatelů a skupin v systému Linux

V systému Linux jako správce systému, často chcete mít úplný seznam všech uživatelů a všech skupin na vašem hostiteli.

Z bezpečnostních důvodů je zcela zásadní ujistit se, že máte správný počet uživatelů a že jste některé nezapomněli smazat.

Existuje několik způsobů, jak sestavit seznam uživatelů a skupin v systému Linux .

Nejprve si můžete přečíst passwd a soubor skupiny ve vašem systému pomocí příkazů cut pro extrahování užitečných informací.

Efektivnějším způsobem je použití příkazu getent, který se opírá o přepínač Name Service Switch, což je zařízení založené na Unixu k definování vlastních databází na vašem hostiteli.

Zde je návod, jak vypsat seznam uživatelů a skupin v systému Linux .

Seznam uživatelů v systému Linux

Chcete-li zobrazit seznam uživatelů v systému Linux, musíte provést příkaz „cat“ v souboru „/etc/passwd“. Při provádění tohoto příkazu se vám zobrazí seznam uživatelů aktuálně dostupných ve vašem systému.

Alternativně můžete pro navigaci v seznamu uživatelských jmen použít příkaz „méně“ nebo „více“.

$ cat /etc/passwd

$ less /etc/passwd

$ more /etc/passwd

Zobrazí se vám seznam uživatelů aktuálně dostupných ve vašem systému.

Poznámka:Neznamená to, žeuživatelé jsou připojeni právě teď!

Ale co dělají sloupce souboru passwd dokonce znamená?

Rychlá poznámka na okraj, „x“ ve sloupci hesla znamená, že heslo je zašifrováno a je třeba jej nalézt v souboru /etc/shadow.

Nyní, když víte, jak vytvořit seznam uživatelů na hostiteli Linuxu, pojďme se podívat, jak můžete efektivně izolovat seznam uživatelských jmen.

Uveďte seznam uživatelských jmen pomocí souboru /etc/passwd

Jak jste si pravděpodobně všimli, /etc/passwd soubor se skládá z řádků oddělených dvojtečkami.

a – Seznam uživatelských jmen pomocí cut

Chcete-li v systému Linux vypsat uživatelská jména, použijte příkaz „cat“ a převeďte jej do příkazu „cut“, abyste izolovali uživatelská jména dostupná v prvním sloupci souboru.

Chcete-li toho dosáhnout, spusťte následující příkaz

$ cat /etc/passwd | cut -d: -f1

Nejprve vytisknete seznam všech záznamů v souboru passwd. Dále jsou tyto výsledky přeneseny (pomocí linuxových kanálů a přesměrování) do příkazu cut.

Příkaz vyjmout definuje vlastní oddělovač (s možností d), který se rovná dvojtečce.

Nakonec izolujeme první pole výsledků, které dostáváme. V tomto případě se to rovná uživatelským jménům definovaným naším schématem ve sloupcích passwd.

b – Seznam uživatelských jmen pomocí awk

Chcete-li v systému Linux vypsat uživatelská jména, můžete také použít příkaz „cat“ spojený s příkazem „awk“, který je podobný příkazu „cut“, který jsme viděli dříve.

Pro připomenutí, příkaz awk (nebo mawk) je interpret pro programovací jazyk AWK.

AWK je programovací jazyk navržený pro usnadnění extrahování dat a manipulace s datovými toky.

Je široce používán v systémech založených na Unixu, kde jsou textové struktury poměrně komplikované a nelze je oddělit jediným příkazem.

Chcete-li zobrazit uživatelská jména v systému Linux pomocí interpretu awk, spusťte následující příkaz

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

Seznam uživatelů v systému Linux pomocí getent

Nejjednodušší způsob, jak vytvořit seznam uživatelů v systému Linux, je použít příkaz „getent“ s argumentem „passwd“ a zadat volitelného uživatele, kterého chcete ve svém systému uvést.

getent passwd <optional_user>

Připomínáme, že příkaz getent načítá položky z databází přepínače jmenné služby .

Name Service Switch je unixový nástroj, který načítá položky ze sady různých zdrojů dat, jako jsou soubory, LDAP, server DNS nebo síťová informační služba .

Seznam všech dostupných datových zdrojů si můžete přečíst na nsswitch.conf soubor umístěný v /etc.

V našem případě jej lze použít ke snadnému vytvoření seznamu uživatelů a skupin na našem hostiteli Linuxu.

Chcete-li zobrazit seznam uživatelů používajících funkci getent, spusťte následující příkaz

$ getent passwd

a – Seznam uživatelských jmen s getent

Podobně jako v předchozí části je možné při interakci s příkazem getent vypsat pouze uživatelská jména.

Chcete-li toho dosáhnout, můžete alternativně provést příkaz cut nebo příkaz awk následujícím způsobem.

$ getent passwd | cut -d: -f1

Nebo pomocí AWK

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

Uveďte seznam připojených uživatelů na svém hostiteli Linux

Jak již bylo zmíněno dříve, kontrola souboru passwd, buď pomocí less, nebo pomocí getent, ne vám poskytne seznam všech připojených uživatelů na vašem hostiteli.

Abyste toho dosáhli, použijete příkaz who.

$ who

Jak vidíte, máte k dispozici seznam uživatelů aktuálně připojených k vašemu hostiteli spolu s prostředím, které používají, a kdy se připojili.

Případně můžete použít příkaz users k dosažení stejného výsledku s méně podrobnostmi.

$ users
devconnected john

Docela praktické!

Nyní, když jsme viděli, jak můžeme vytvořit seznam uživatelů na hostiteli Linuxu, podívejme se, jak můžeme stejné znalosti aplikovat na seznam skupin ve vašem systému.

Vypište seznam skupin v systému Linux pomocí souboru /etc/group

Chcete-li v systému Linux vypsat skupiny, musíte v souboru „/etc/group“ provést příkaz „cat“. Při provádění tohoto příkazu se vám zobrazí seznam skupin dostupných ve vašem systému.

Pomocí jednoho z následujících příkazů vypíšete skupiny ve vašem systému.

$ cat /etc/group

$ less /etc/group

$ more /etc/group

Ale co vůbec představují sloupce souboru skupiny?

Udělejme celý řádek na souboru skupiny, abychom jej prozkoumali.

Jak vidíte, podobně jako v souboru passwd jsou položky odděleny dvojtečkami. Jsou poměrně snadno pochopitelné.

Poznámka:Pole hesla se většinou nepoužívá, je vyhrazeno pro vytváření privilegovaných skupin ve vašem systému.

Vypište názvy skupin pomocí /etc/group

Jak můžete vidět, kontrola /etc/group vám poskytne úplný a někdy až příliš podrobný seznam všech skupin ve vašem systému.

Někdy však chcete izolovat názvy skupin v souboru skupiny.

Chcete-li toho dosáhnout, můžete použít příkaz vyjmout nebo příkaz AWK.

$ cat /etc/group | cut -d: -f1
$ cat /etc/group | awk -F: '{print $1}'

Můžete se samozřejmě rozhodnout izolovat jednu skupinu, pokud chcete vidět, kteří uživatelé patří do skupiny, na kterou cílíte.

$ cat /etc/group | grep <group>

Seznam skupin pomocí getent

Opět můžete zvolit seznam skupin v Linuxu pomocí příkazu getent.

$ getent <database> <key>

Zde nás zajímá „skupinová“ databáze.

Pokud se rozhodnete neposkytnout klíč, bude vám poskytnut celý soubor skupiny.

$ getent group

Podobně jako u databáze passwd se můžete rozhodnout „zacílit“ na jednu konkrétní skupinu poskytnutím klíče k funkci getent.

$ getent group sudo

Vypsat skupiny pro aktuálního uživatele

Příkazy pro skupiny se používají k získání seznamu skupin, ve kterých je konkrétní uživatel.

$ groups <username>

Pokud nejsou zadány žádné argumenty, vrátí skupiny pro uživatele, který spustil příkaz.

Chcete-li prokázat, že poskytuje skupiny pro uživatele, který příkaz spustil, zkuste příkaz spustit s právy sudo.

$ sudo groups

Výsledkem je.. root! Protože příkaz je spuštěn jako root a root patří pouze do jedné skupiny, kterou je kořenová skupina.

Závěr

V tomto tutoriálu jste se naučili, jak můžete vytvořit seznam uživatelů a skupin na jakémkoli systému založeném na Linuxu.

Dozvěděli jste se více o konkrétních konfiguračních souborech, jako je passwd a group , stejně jako příkaz gettent pro zařízení Name Service Switch.

Opět platí, že pokud máte zájem o správu systému Linux, v naší kategorii Správa systému Linux máme spoustu výukových programů na toto téma.

Chcete-li je zkontrolovat, klikněte na obrázek níže.


Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Jak pracovat s uživateli a skupinami v Linuxu

  3. Jak vypsat všechny uživatele ve skupině Linuxu?

  1. Jak spravovat a vypisovat služby v Linuxu

  2. Jak spravovat oprávnění Linuxu pro uživatele, skupiny a další

  3. Jak mohu uvést seznam všech zamčených uživatelů v Linuxu?

  1. Jak zobrazit seznam uživatelů v Linuxu, příkaz Seznam všech uživatelů

  2. Jak používat příkaz Linux SS

  3. Linux Tail Command:Co to je a jak jej používat