Súbory / etc / passwd uchovávajú všetky dôležité informácie, ktoré sú potrebné pre prihlásenie používateľa. Aby sme to zjednodušili, súbor / etc / passwd ukladá podrobnosti o účte používateľa. Tento súbor je súbor vo formáte obyčajného textu, ktorý obsahuje kompletný zoznam všetkých používateľov vášho systému Linux. Obsahuje informácie o používateľskom mene, hesle, UID (ID používateľa), GID (ID skupiny), prostredí a domovskom adresári. Tento súbor by mal mať povolenie na čítanie, pretože na mapovanie ID používateľov na meno používateľa sa používa veľa obslužných programov príkazového riadku. Mal by však mať obmedzené oprávnenie na prístup na zápis iba pre používateľské účty superuser alebo root.
Tento článok bude demonštrovať, ako a kde môžete ukladať heslá účtov používateľov systému v distribúcii systému Linux. Implementovali sme všetky demonštrácie na Ubuntu 20.04 systém. Súbor / etc / passwd však môžete nájsť v ľubovoľnej distribúcii systému Linux.
Podmienky
Na spúšťanie administračných príkazov by ste mali mať oprávnenie root.
Základné informácie o súbore / etc / passwd
Súbor / etc / passwd obsahuje informácie o používateľskom účte vášho systému. Všetky uložené polia sú oddelené od dvojbodky „:“.
Po spustení nasledujúceho príkazu uvidíte každú položku súboru / etc / passwd:
Vyššie uvedený príkaz zobrazí zoznam všetkých používateľov vášho systému Linux.
Na obrazovke terminálu sa zobrazí nasledujúci typ formátu:
Podrobnosti o poliach / etc / passwd Formát
Z vyššie uvedeného obrázka:
Užívateľské meno: Pole jedna predstavuje meno používateľa. Dĺžka poľa užívateľského mena je definovaná medzi 1 - 32 znakmi. Používa sa, keď sa používateľ prihlási do systému. Vo vyššie uvedenom príklade je používateľské meno „khuzdar“.
Heslo: Vo vyššie uvedenom príklade znak „x“ ukazuje, že heslo je uložené v zašifrovanej podobe v súbore / etc / shadow.
ID používateľa (UID): ID používateľa musí byť každému užívateľovi pridelené osobitne. Nula UID je priradená koreňovému používateľovi a ID používateľov od 1 do 99 sú priradené k preddefinovaným alebo štandardným účtom. Ďalšie identifikátory UID od 100 do 999 sú priradené k správcovským účtom alebo skupinám systému. Na snímke vyššie je ID používateľa 1001.
ID skupiny (GID): Nasledujúce pole predstavuje ID skupiny. GID je uložený do súboru / etc / group. Na základe vyššie uvedeného príkladu patrí užívateľ do skupiny id 1001.
Informácie o ID užívateľa: Nasledujúce pole je určené na komentáre. Do tohto poľa môžete pridať ďalšie informácie o zadanom používateľovi, napríklad celé meno používateľa, telefónne číslo atď. Vo vyššie uvedenom príklade však používateľ neposkytne žiadne telefónne číslo.
Domovský adresár: Toto pole zobrazuje umiestnenie domovského adresára, ktorý je priradený aktuálnemu používateľovi. Pokiaľ zadaný adresár neexistuje, zobrazí sa „/“. Vyššie uvedený obrázok zobrazuje umiestnenie zvýrazneného používateľa v domovskom adresári, ktorým je home / kbuzdar.
Príkaz // shell: Predvolená absolútna cesta shellu alebo príkazu je / bin / bash. Toto sa nazýva škrupina. Napríklad sysadmin používajúci nologínový shell. Chová sa ako náhradný shell pre používateľské účty systému. Ak sa shell nachádza na ceste k / sbin / nologin a používateľ sa chce prihlásiť priamo do systému Linux, shell / sbin / nologin ukončí alebo deaktivuje pripojenie.
Vyhľadajte používateľa v súbore / etc / passwd
Pomocou súboru grep môžete vyhľadať konkrétneho používateľa v súbore / etc / passwd. Napríklad chceme vyhľadať používateľské meno „kbuzdar“ v súbore / etc / passwd pomocou nasledujúcej syntaxe, potom môžeme ľahko vyhľadať konkrétneho používateľa a ušetriť náš čas:
$ grep meno-pouzivatela / etc / passwdVyššie uvedená syntax sa zmení na nasledujúci tvar:
$ grep kbuzdar / etc / passwd
Alebo
Zobraziť povolenia v súbore / etc / passwd
Ako sme už spomenuli vyššie, všetci ostatní používatelia, okrem root, by mali byť schopní čítať povolenie v súbore / etc / passwd a vlastník musí byť superužívateľ alebo root.
Ak chcete skontrolovať povolenia na čítanie v súbore, zadajte nasledujúci príkaz:
Na termináli sa zobrazí nasledujúca výstupná vzorka:
Číta sa súbor / etc / passwd
Môžete si prečítať súbor / etc / passwd vo vašom systéme Linux pomocou nasledujúceho bash skriptu alebo priamo spustiť to, čo je napísané nižšie, zatiaľ čo cyklické príkazy na termináli.
Vytvorte textový súbor a vložte do neho nasledujúci kód:
# spolu sedem polí z / etc / passwd uložených ako $ f1, f2 ..., $ f7
while IFS =: read -r f1 f2 f3 f4 f5 f6 f7
robiť
echo "Používateľ $ f1 použije shell $ f7 a uloží súbory do adresára $ f6.„
hotový < /etc/passwd
Pomocou cyklu while prečíta všetkých sedem polí a potom iteračne zobrazí obsah súboru na termináli.
Uložte vyššie uvedený súbor s názvom „readfile“.ona.
Teraz spustite vyššie uvedený súbor pomocou nasledujúceho príkazu:
$ bash readfile.š
Preskúmajte súbor / etc / shadow
Súbor / etc / shadow obsahuje všetky vaše šifrované heslá uložené v tomto súbore, ktoré sú čitateľné iba pre používateľov root.
Spustíme nasledujúci príkaz na zobrazenie obsahu:
Všetky heslá môžete vidieť v šifrovanom formáte:
Záver
Z vyššie uvedeného článku sme videli všetky podrobnosti o používateľskom účte a heslá uložené v súbore / etc / passwd v systéme Linux. Tento súbor si môžete prečítať, ale „oprávnenie na zápis“ majú iba používatelia root. Okrem toho sme tiež videli všetky šifrované heslá uložené v súbore / etc / shadow. Môžete tiež preskúmať súbor / etc / group a získať podrobnosti o skupine používateľa.