Bezpečnosť

Kde a ako sú uložené heslá v systéme Linux?

Kde a ako sú uložené heslá v systéme Linux?
Meno používateľa so zodpovedajúcim heslom pre konkrétny účet je primárnou požiadavkou, cez ktorú má používateľ prístup do systému Linux. Heslo všetkých účtov používateľov je uložené v súbore alebo v databáze, aby bolo možné overiť používateľa počas pokusu o prihlásenie do systému. Každý používateľ nemá dostatok zručností a znalostí na nájdenie tohto súboru vo svojom systéme. Ak však získate prístup k databáze alebo k súboru, ktorý uchováva všetky heslá prihlásených používateľov, môžete k systému Linux ľahko získať prístup. Keď používateľ zadá prihlasovacie meno a heslo v systéme Linux, skontroluje zadané heslo oproti záznamu v rôznych súboroch adresára „/ etc“.

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:

$ mačka / 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 / passwd

Vyššie uvedená syntax sa zmení na nasledujúci tvar:

$ grep kbuzdar / etc / passwd


Alebo

$ grep -w '^ kbuzdar' / etc / passwd

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:

$ ls -l / etc / passwd

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:

#!/ bin / bash
# 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:

$ sudo mačka / etc / shadow

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.

Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...
Hry Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 vydané minulý mesiac, je šiestym vývojovým vydaním v 1.13.séria x a prináša množstvo vylepšení, najmä používateľského rozhra...
Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...