15 + příklady pro výpis uživatelů v Linuxu

v tomto příspěvku se dozvíte o výpisu uživatelů v Linuxu. Kromě toho budete znát další triky o vlastnostech uživatelů Linuxu.

v Linuxu existují dva typy uživatelů, uživatelé systému, kteří jsou ve výchozím nastavení se systémem vytvořeni. Na druhé straně existují běžní uživatelé, kteří jsou vytvořeni správci systému a mohou se přihlásit do systému a používat jej.

obsah

jaký soubor obsahuje seznam uživatelů v Linuxu?,

než začneme seznamovat uživatele, musíme vědět, kde tito uživatelé uložili na Linuxu?

uživatelé jsou uloženi v textovém souboru v systému nazvaném soubor passwd. Tento soubor je umístěn v adresáři / etc.

soubor je umístěn V následující cestě:

$ /etc/passwd

V tomto souboru, můžete najít všechny informace o uživatelích v systému.

seznam všech uživatelů

seznam uživatelů je prvním krokem k jejich správě. Tímto způsobem budeme vědět, kolik jsou a kdo jsou. V Linuxu lze téměř vše udělat různými způsoby, a to není výjimkou.,

seznam všech uživatelů, můžete použít příkaz cat:

$ cat /etc/passwd

Jak můžete vidět na obrázku, tam jsou všechny informace o uživateli.

1 – v prvním poli uvidíte uživatelské jméno.

2-druhé pole (znak x) je reprezentace šifrovaného hesla. Šifrované heslo je uloženo v souboru/etc / shadow.

3-UID nebo ID uživatele.

4-další pole odkazuje na primární skupinu uživatele.

5-Poté se zobrazí informace o ID uživatele, jako je adresa, E-mail atd.,

6 – Poté uvidíte domovský adresář uživatele.

7-posledním polem je shell používaný tímto uživatelem.

Nicméně, i když informace je velmi užitečná, pokud chcete pouze seznam uživatelů, jména v základním způsobem, můžete použít tento příkaz:

$ cut -d: -f1 /etc/passwd

Teď máme jména pouze tisk první pole souboru pouze.

List & Seřadit uživatele podle názvu

výše uvedený příkaz slouží k zařazení uživatelů na Linux. Ale co seznam uživatelů v abecedním pořadí?,

k tomu použijeme předchozí příkaz, ale přidáme příkaz třídění.

Takže příkaz bude vypadat takto:

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

Jak můžete vidět na obrázku, uživatelé jsou zobrazeny řazeny.

seznam uživatelů Linuxu bez hesla

je důležité znát uživatele, kteří nemají heslo, a podniknout příslušné kroky. Seznam uživatelů, kteří nemají heslo, stačí použít následující příkaz:

$ sudo getent shadow | grep -Po '^*(?=:.?:)'

používá regex bude seznam všechny uživatele, bez hesla.,

seznam uživatelů podle využití disku

Pokud máte velký adresář a chcete vědět, který uživatel jej zaplavuje, můžete pomocí příkazu du získat využití disku.

díky tomu můžete zjistit, který z těchto uživatelů zneužívá místo na disku.

Za to, že to je dost, aby použít následující příkaz:

$ sudo du -smc /home/* | sort -n

tímto způsobem, budete mít uživatelé nařídil využití disku za adresáře /home.

použili jsme-n pro příkaz řazení pro řazení výstupu podle čísel.,

seznam aktuálně přihlášených uživatelů

seznam aktuálně přihlášených uživatelů, máme několik způsobů, jak to udělat. První způsob můžeme použít uživatelé příkaz:

$ users

To bude seznam uživatelů s otevřenou relace v systému.

ale tato informace je trochu základní; máme však další příkaz, který poskytuje více podrobností. Příkaz je jednoduše w.,

$ w

tento příkaz, můžeme mít více informací, jako je přesný čas, kdy relace byla zahájena a terminálové relace má k dispozici.

konečně existuje příkaz s názvem who. Je k dispozici pro celou rodinu Unixů. Takže jej můžete použít na jiných systémech, jako je FreeBSD.

$ who

s příkazem who máme také některé informace o aktuálně přihlášených uživatelích. Samozřejmě můžeme přidat možnost-a a zobrazit všechny podrobnosti.,

$ who -a

tímto způsobem víte vše o přihlášených uživatelích.

Linux seznam uživatelů, kteří se nedávno přihlásili do systému

viděli jsme, jak získat aktuálně přihlášené uživatele, a co výpis historie přihlášení uživatelů?,

můžete použít poslední příkaz získat více informací o přihlášení, která proběhla:

$ last

Nebo přihlášení konkrétního uživatele

$ last 

například:

$ last angelo

jedná se o uživatele, přihlašovací činnost, a když to začalo a jak dlouho to trvalo.

seznam přihlášení uživatelů k určitému datu nebo času

Co výpis přihlášení uživatelů k určitému datu nebo času?, K dosažení tohoto cíle, budeme používat poslední příkaz, ale s -t parametry:

$ last -t YYMMDDHHMMSS

například:

$ last -t 20190926110509

A teď, vše, co musíte udělat, je vybrat si přesné datum & čas na seznam, kteří se přihlásili v té době.

Seznam všech uživatelů ve skupině

Existují dva způsoby, jak seznam členů skupiny v Linuxu, nejjednodušší a nejpřímější způsob, jak je dostat uživatele z /etc/group soubor, jako je tento:

$ cat /etc/group | grep likegeeks

Tento příkaz zobrazí seznam uživatelů ve likegeeks skupiny.,

opačným způsobem je použití příkazů, jako je příkaz členů v distribucích založených na Debianu. Ve výchozím nastavení však není nainstalován v distribucích Linuxu.,

nainstalovat v Ubuntu / Linux Mint 19, stačí použít APT:

$ sudo apt install members

Nebo v případě CentOS:

$ sudo dnf install members

Jakmile je nainstalován, můžete spustit příkaz pak jméno skupiny, kterou chcete seznam uživatelů:

$ members 

například:

$ members avahi

Tímto způsobem, můžete vytvořit seznam uživatelů pro skupinu v Debian based distro. A co distro založené na RedHat, jako je CentOS?,

můžete použít následující příkaz:

$ getent group likegeeks

Seznam uživatelé s UID

V Unixových systémech má každý uživatel identifikátor uživatele nebo ID. Slouží ke správě a správě účtů interně v operačním systému.

Obecně platí, že UID od 0 do 1000 jsou pro uživatele systému. A poté pro běžné uživatele. Vždy v unixových systémech patří UID zero k kořenovým uživatelům (můžete mít více než jednoho uživatele s UID zero).

takže nyní uvedeme uživatele s jejich příslušným UID pomocí Awk.,

příkaz, který provede úkol je následující:

$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

Jak můžete vidět, každý uživatel s jeho UID.

seznam uživatelů root

v unixovém systému, jako je Linux, je obvykle pouze jeden uživatel root. Pokud je jich mnoho, jak je uvést?

K tomu, můžeme použít tento příkaz:

$ grep 'x:0:' /etc/passwd

Tady jsme filtrování souborů, aby se uživatelé s UID nulové (uživatele root).,

Další způsob, jak zkontrolovat /etc/group soubor:

$ grep root /etc/group

Tady se dostáváme uživatelé ve skupině root ze souboru /etc/group.

Také si můžete zkontrolovat, zda každý uživatel může spouštět příkazy jako root zaškrtnutím /etc/sudoers file:

$ cat /etc/sudoers

Získejte celkový počet uživatelů

Chcete-li získat celkový počet uživatelů v Linuxu, můžete počítat řádky v souboru /etc/passwd pomocí wc příkaz jako je tento:

$ cut -d: -f1 /etc/passwd | wc -l

Skvěle! 43 uživatelů., Ale to zahrnuje systém a běžné uživatele. A co získat pouze počet běžných uživatelů?

snadné! Protože víme z výše uvedeného, že běžní uživatelé mají UID 1000 nebo vyšší, můžeme použít Awk, aby si je:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Cool!

seznam uživatelů sudo

systémy Linux mají nástroj nazvaný sudo, který vám umožňuje provádět příkazy, jako byste byli jiným uživatelem, který je obvykle kořenovým uživatelem.

s tím by se mělo zacházet opatrně v profesionálním prostředí.,

také je velmi důležité vědět, kteří uživatelé mohou spustit příkaz sudo. Za tímto účelem stačí uvést uživatele, kteří patří do skupiny sudo.

$ members sudo

Uživatelé v této skupině mohou provádět příkazy jako super uživatele.

seznam uživatelů, kteří mají přístup SSH

SSH umožňuje uživatelům přístup ke vzdáleným počítačům v síti. Je to docela bezpečné a Narodil se jako náhrada za Telnet.

ve výchozím nastavení se mohou všichni běžní uživatelé přihlásit a používat SSH., Pokud chcete omezit, můžete použít SSH konfigurační soubor (/etc/ssh/ssh_config) a přidejte následující směrnice:

AllowUsers user1 user2 user3

můžete Také povolit skupin namísto toho, aby uživatelé pouze pomocí AllowGroups směrnice:

AllowGroups group1 group2 group3

Tyto směrnice definují, kdo může získat přístup ke službě. Nezapomeňte restartovat službu SSH.

Seznam uživatelů, kteří mají oprávnění k souboru nebo adresáři

můžeme dát více než jeden uživatel oprávnění pro přístup nebo upravit soubory & adresáře dvěma způsoby.,

první metoda je přidáním uživatelů do skupiny souboru nebo adresáře.

tímto způsobem můžeme seznam členů skupiny pomocí nástroje členové, jak je uvedeno výše.

dobře, ale co když chceme, aby tento uživatel měl přístup pouze k tomuto konkrétnímu souboru (ne všechna oprávnění skupiny)?

Zde můžeme nastavit ACL pro tento soubor pomocí příkazu setfacl, jako je tento:

$ setfacl -m u:newuser:rwx myfile

Zde jsme se dát uživatele s názvem newser oprávnění pro soubor s názvem myfile oprávnění číst & & spustit.,

nyní může být soubor přístupný nebo upraven vlastníkem a uživatel volal newuser. Tak jak je vypsat?

můžeme vypsat pomocí příkazu getfacl, jako je tento:

$ getfacl myfile

Tento příkaz zobrazí seznam všech uživatelů, kteří mají oprávnění pro soubor s jejich odpovídající oprávnění.

seznam uzamčených (zakázaných) uživatelů

v Linuxu můžeme jako bezpečnostní opatření uzamknout uživatele. To jako preventivní opatření, pokud existuje podezření, že uživatel dělá věci špatně, a nechcete úplně odstranit uživatele a jen ho zamknout pro vyšetřování.,

zamknout uživatele, můžete použít následující příkaz:

$ usermod -L myuser

Nyní uživatel pojmenovaný myuser již nebude možné pro přihlášení, nebo použít systém.

Chcete-li zobrazit seznam všech uzamčených uživatelů systému, použijte následující příkaz:

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

to vytiskne všechny uzamčené uživatele, včetně uživatelů systému. A co výpis pouze běžných uživatelů?

jak jsme viděli výše, pomocí Awk můžeme získat uzamčené pravidelné uživatele, jako je tento:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

velmi snadné!,

seznam vzdálených uživatelů (LDAP)

dobře, nyní můžete uvést všechny uživatele systému (místní uživatele), ale co vzdálení uživatelé nebo uživatelé LDAP? Můžeme použít nástroj, jako je ldapsearch, ale existuje jiný způsob?

naštěstí Ano! Můžete uvést místní & vzdálené uživatele s jeden příkaz s názvem getent

$ getent passwd

Tento příkaz vypíše místní uživatele systému a LDAP nebo NIS uživatelům nebo jiným uživatelům sítě.

výsledky tohoto příkazu můžete přenést na některý z výše uvedených příkazů stejným způsobem.,

Také, getent příkaz seznam účtů skupiny, jako je tento:

$ getent group

můžete se podívat na manuálovou stránku příkazu znát jiných databází příkaz může hledat.

závěr

seznam uživatelů v systému Linux byl zábavný! Kromě toho jsme se dozvěděli několik tipů o Uživatelích a jak je spravovat různými způsoby.

nakonec tyto znalosti umožní lepší správu uživatelů systému.

doufám, že vám tutoriál bude užitečný. Vrať se.,

Zakladatel LikeGeeks. Od roku 2010 pracuji jako správce systému Linux. Jsem zodpovědný za údržbu, zabezpečení a odstraňování problémů s linuxovými servery pro více klientů po celém světě. Miluji psaní skriptů shell a Python pro automatizaci mé práce.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *