Naposledy aktualizované dňa
Je dôležité vedieť, kto má prístup k vášmu počítaču so systémom Linux (a kontrolu nad vašimi súbormi), ale môžete jednoducho uviesť používateľov v systéme Linux, aby ste to zistili. Tu je postup.
The Operačný systém Linux ponúka príkazy na vytváranie a odstraňovanie používateľov a kontrolu, ktorí z nich sú prihlásení. V systéme však neexistuje príkaz na zoznam používateľov, či už prihlásených alebo neprihlásených.
Napriek tomu existuje niekoľko spôsobov, ako to dosiahnuť. Ak sa chcete dozvedieť, ako vytvoriť zoznam používateľov v systéme Linux, postupujte podľa našich krokov nižšie.
Prečo by ste si mali skontrolovať zoznam používateľov systému Linux
Existuje niekoľko dôvodov, prečo by ste mohli chcieť uviesť používateľov v systéme Linux. Je to dobrý postup, pokiaľ ide o vyhľadávanie a odstraňovanie nepoužívaných účtov. Z hľadiska bezpečnosti je to tiež dobrý spôsob, ako zabezpečiť, aby si používateľské účty nevytvárali votrelci.
Toto je administratívna úloha, ktorú by ste pravdepodobne mali robiť aspoň raz za mesiac. Ak prevádzkujete firemný server Linux, možno to budete chcieť robiť častejšie.
Používatelia uvedení v /etc/passwd
Všetky používateľské účty vášho servera Linux majú položky v súbore /etc/passwd. Každý riadok predstavuje používateľa a má sedem polí oddelených dvojbodkami. Polia poskytujú informácie o používateľovi.
- Používateľské meno.
- Šifrované heslo (X označuje, že heslo je skutočne zadané /etc/shadow)
- ID používateľa (UID).
- ID skupiny používateľa (GID).
- Celé meno používateľa, ak je uvedené.
- Domovský adresár používateľa.
- Prihlasovací shell
To nás privádza k jednému spôsobu, ako uviesť zoznam všetkých používateľov v systéme Linux. Môžete použiť menej na zobrazenie celého súboru po jednej obrazovke.
menej /etc/passwd.
Ak chcete skontrolovať, či v systéme Linux existuje konkrétny používateľ, tento príkaz je dobré použiť grep:
menej passwd | grep jeff.
Ak nedostanete žiadny výstup, daný používateľ na serveri Linux neexistuje.
Napriek tomu je to veľa informácií. Môžete ho skrátiť len na používateľské meno, napríklad pomocou buď awk alebo rezať príkazy:
awk -F: '{print $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
To býva oveľa ľahšie pochopiteľné, no stále vám umožňuje prezerať si všetky systémové používateľské účty zmiešané s vašimi ľudskými používateľmi.
Ako používať getent na zoznam používateľov
Ďalší príkaz, getent, je oveľa užitočnejšia. Zobrazuje záznamy z akákoľvek nakonfigurovaná databáza na vašom serveri /etc/nsswitch.conf súbor. Jedným z nich je passwd databázy. Použit getent ak chcete zobraziť zoznam všetkých používateľov systému Linux, funguje to takto:
getent passwd
Výstup vyzerá úplne rovnako ako pri použití menej príkaz, ale uvádza všetkých používateľov LDAP v systéme Linux. Ešte raz náš awk a rezať príkazy môžu pomôcť zobraziť iba prvé pole, používateľské mená.
Ak chcete skontrolovať, či v systéme Linux existuje konkrétny používateľ, getent uľahčuje:
getent passwd jeff.
Opäť platí, že žiadny výstup z tohto príkazu vám nepovie, že používateľ neexistuje.
Ďalšie skvelé využitie pre getent zisťuje, koľko používateľských účtov existuje na serveri. To sa vykonáva potrubím getentvýstup cez wc príkaz, takto:
getent passwd | wc -l.
Ako vidíte, môj systém Linux má celkovo 48 účtov. Celkom zaujímavé, keďže som jediný, kto to používa, ale to len ukazuje, koľko systémových účtov je vytvorených v Linuxe.
Oddeľte používateľov systému od bežných používateľov
V očiach Linuxu nie je rozdiel medzi užívateľom systému a človekom. Kedykoľvek nainštalujete operačný systém, vytvorí sa počet používateľov systému. Ostatní používatelia systému sa vytvoria pre rôzne balíky, ako je softvér webových alebo poštových služieb.
Ako teda môžete uviesť iba bežných ľudských používateľov v systéme Linux? Kľúčom je pochopiť, že keď vytvoríte bežného používateľa, jeho UID sa pridelí v rámci určitého rozsahu čísel. Kontrolou /etc/login.defs môžeme určiť rozsah hodnôt UID dostupných pre bežné používateľské účty.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Na základe výstupu viem, že normálni používatelia by mali mať UID medzi 1000 a 60000. Z toho môžem zostaviť a getent dotaz, ktorý zobrazí iba bežných používateľov.
getent passwd {1000..60000}
Mať na pamäti, getent Zdá sa, že visí aj po zobrazení výstupu. Môžete stlačiť Ctrl-C proces ukončíte alebo počkajte, kým sa neskončí. Dokončenie vyhľadávania zvyčajne trvá menej ako 15 sekúnd passwd databázy.
Všeobecnejšia verzia tohto príkazu berie do úvahy rôzne UID_MIN a UID_MAX hodnoty, ktoré môžu používať rôzne servery.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
V tomto príkaze využívame schopnosť Linuxu robiť viacero vecí naraz. The awk príkazy získať UID_MIN a UID_MAX hodnoty, potom ich použite v rámci getent príkaz.
Teraz povedzme, že všetko, čo chceme, sú používateľské mená. Náš výstup opäť prevedieme potrubím rezať príkaz, takto:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | rez -d: -f1.
Dokončenie tohto príkazu môže trvať 10 až 15 sekúnd, takže buďte trpezliví.
Efektívna správa používateľov systému Linux
Je dôležité sledovať, aké používateľské účty existujú vo vašom systéme Linux. Keď viete, že zamestnanec odišiel, požiadajte o vymazanie jeho používateľského účtu. Pravidelné uvádzanie používateľov systému Linux vám pomôže uistiť sa, že zachytíte všetky účty, ktoré mohli uviaznuť.
Zároveň sa určite držte na vrchole zásady zabezpečenia hesiel a povzbudzujte svojich používateľov, aby zmeniť ich heslá pravidelne.