Naposledy aktualizováno dne
Je důležité vědět, kdo má přístup k vašemu počítači se systémem Linux (a kontrolu nad vašimi soubory), ale můžete snadno uvést uživatele v systému Linux, abyste to zjistili. Zde je návod.
The Operační systém Linux nabízí příkazy pro vytvoření a odstranění uživatelů a kontrolu, kteří z nich jsou přihlášeni. V systému však neexistuje žádný příkaz pro seznam uživatelů, přihlášených nebo nepřihlášených.
Přesto existuje několik způsobů, jak toho dosáhnout. Pokud se chcete dozvědět, jak vytvořit seznam uživatelů v Linuxu, postupujte podle níže uvedených kroků.
Proč byste měli zkontrolovat svůj seznam uživatelů Linuxu
Existuje několik důvodů, proč budete chtít uvést uživatele v Linuxu. Je to dobrá praxe, pokud jde o hledání a mazání nepoužívaných účtů. Z hlediska zabezpečení je to také dobrý způsob, jak zajistit, aby si uživatelé nevytvářeli uživatelské účty.
Toto je administrativní úkol, který byste pravděpodobně měli dělat alespoň jednou měsíčně. Pokud provozujete podnikový server Linux, možná to budete chtít dělat častěji.
Uživatelé uvedení v /etc/passwd
Všechny uživatelské účty vašeho linuxového serveru mají položky v souboru /etc/passwd. Každý řádek představuje uživatele a má sedm polí oddělených dvojtečkami. Pole poskytují informace o uživateli.
- Uživatelské jméno.
- Zašifrované heslo (X označuje, že heslo je skutečně zadáno /etc/shadow)
- ID uživatele (UID).
- ID skupiny uživatele (GID).
- Celé jméno uživatele, pokud je uvedeno.
- Domovský adresář uživatele.
- Přihlašovací shell
To nás přivádí k jednomu způsobu, jak vypsat seznam všech uživatelů v Linuxu. Můžete použít méně příkaz pro zobrazení celého souboru, jednu obrazovku po druhé.
méně /etc/passwd.
Pokud chcete zkontrolovat, zda v systému Linux existuje konkrétní uživatel, je to pro tento příkaz dobré grep:
méně passwd | grep jeff.
Pokud nezískáte žádný výstup, daný uživatel na serveru Linux neexistuje.
Přesto je to spousta informací. Můžete jej zkrátit pouze na uživatelské jméno, například pomocí buď awk nebo střih příkazy:
awk -F: '{print $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
To bývá mnohem snazší pochopit, ale stále vám to nechává prohlížet všechny systémové uživatelské účty smíchané s vašimi lidskými uživateli.
Jak používat getent k seznamu uživatelů
Další příkaz, getent, je mnohem užitečnější. Zobrazuje záznamy z jakákoli nakonfigurovaná databáze na vašem serveru /etc/nsswitch.conf soubor. Jedním z nich je passwd databáze. Použít getent pro zobrazení seznamu všech uživatelů Linuxu to funguje takto:
getent passwd
Výstup vypadá úplně stejně jako při použití méně příkaz, ale uvádí všechny uživatele LDAP v systému Linux. Ještě jednou naše awk a střih příkazy mohou pomoci zobrazit pouze první pole, uživatelská jména.
Pokud chcete zkontrolovat, zda v systému Linux existuje konkrétní uživatel, getent usnadňuje:
getent passwd jeff.
Opět žádný výstup z tohoto příkazu neříká, že uživatel neexistuje.
Další skvělé využití pro getent zjišťuje, kolik uživatelských účtů existuje na serveru. To se provádí potrubím getentvýstup přes toaleta příkaz, takto:
getent passwd | wc -l.
Jak vidíte, můj systém Linux má celkem 48 účtů. Docela zajímavé, protože jsem jediný, kdo to používá, ale to jen ukazuje, kolik systémových účtů je vytvořeno v Linuxu.
Oddělte uživatele systému od běžných uživatelů
V očích Linuxu není žádný rozdíl mezi uživatelem systému a člověkem. Kdykoli nainstalujete operační systém, vytvoří se počet uživatelů systému. Ostatní uživatelé systému jsou vytvořeni pro různé balíčky, jako je webový nebo poštovní software.
Jak tedy můžete uvést pouze běžné lidské uživatele systému Linux? Klíčem je zde pochopit, že když vytvoříte běžného uživatele, jeho UID je přiřazeno v určitém rozsahu čísel. Kontrolou /etc/login.defs můžeme určit rozsah hodnot UID dostupných pro běžné uživatelské účty.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Na základě výstupu vím, že normální uživatelé by měli mít UID mezi 1000 a 60000. Z toho mohu sestavit a getent dotaz, který zobrazí pouze normální uživatele.
getent passwd {1000..60000}
Mějte na paměti, getent bude vypadat, že zamrzne i poté, co zobrazí svůj výstup. Můžete stisknout Ctrl-C proces ukončíte nebo počkejte, až skončí. Dokončení vyhledávání obvykle trvá méně než 15 sekund passwd databáze.
Obecnější verze tohoto příkazu bere v úvahu různé UID_MIN a UID_MAX hodnoty, které mohou různé servery používat.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
V tomto příkazu využíváme schopnosti Linuxu dělat více věcí najednou. The awk příkazy získat UID_MIN a UID_MAX hodnoty, pak je použijte v rámci getent příkaz.
Nyní řekněme, že vše, co chceme, jsou uživatelská jména. Ještě jednou náš výstup protáhneme potrubím střih příkaz, takhle:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | řez -d: -f1.
Dokončení tohoto příkazu může trvat 10 až 15 sekund, takže buďte trpěliví.
Efektivní správa uživatelů systému Linux
Je důležité sledovat, jaké uživatelské účty existují ve vašem systému Linux. Když víte, že zaměstnanec odešel, požádejte o smazání jeho uživatelského účtu. Pravidelné uvádění vašich uživatelů Linuxu vám pomůže zajistit, že zachytíte všechny účty, které by mohly uvíznout.
Zároveň se určitě držte na vrcholu zásady zabezpečení hesel a povzbudit k tomu své uživatele změnit jejich hesla pravidelně.