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.