Kur un kā paroles tiek glabātas Linux?

Where How Are Passwords Stored Linux



Lietotāja vārds ar atbilstošu paroli konkrētam kontam ir galvenā prasība, ar kuras palīdzību lietotājs var piekļūt Linux sistēmai. Visu lietotāja kontu parole tiek saglabāta failā vai datu bāzē, lai lietotāju varētu pārbaudīt, piesakoties sistēmā. Katram lietotājam nav pietiekami daudz prasmju un zināšanu, lai atrastu šo failu savā sistēmā. Tomēr, ja jums ir piekļuve datu bāzei vai failam, kurā tiek saglabātas visas pieteikšanās lietotāja paroles, varat viegli piekļūt Linux sistēmai. Kad lietotājs pieteikšanās laikā Linux sistēmā ievada lietotājvārdu un paroli, tas pārbauda ievadīto paroli, salīdzinot ar ierakstu dažādos direktorija “/etc” failos.

Faili /etc /passwd saglabā visu svarīgo informāciju, kas nepieciešama lietotāja pieteikšanai. Lai to izskaidrotu vienkāršākos vārdos, failā /etc /passwd tiek saglabāta lietotāja konta informācija. Šis fails ir vienkārša teksta fails, kurā ir pilns visu jūsu Linux sistēmas lietotāju saraksts. Tajā ir informācija par lietotājvārdu, paroli, UID (lietotāja ID), GID (grupas ID), apvalku un mājas direktoriju. Šim failam vajadzētu būt lasīšanas atļaujām, jo ​​daudzas komandrindas utilītas tiek izmantotas, lai kartētu lietotāja ID ar lietotāja vārdu. Bet vajadzētu būt ierobežotām rakstīšanas piekļuves atļaujām tikai virslietotāja vai saknes lietotāju kontiem.







Šis raksts parādīs, kā un kur jūs varat uzglabāt sistēmas lietotāja konta paroles Linux izplatīšanā. Mēs esam ieviesuši visas demonstrācijas Ubuntu 20.04 sistēmā. Tomēr failu /etc /passwd varat atrast jebkurā Linux izplatīšanā.



Priekšnosacījumi

Lai palaistu administratīvās komandas, jums jābūt root tiesībām.



Pamatinformācija par /etc /passwd failu

Fails /etc /passwd satur informāciju par jūsu sistēmas lietotāja kontu. Visi saglabātie lauki ir atdalīti no kolu: zīmes.
Palaižot šādu komandu, jūs redzēsit katru /etc /passwd faila ierakstu:





$kaķis /utt/passwd

Iepriekš minētā komanda uzskaitīs visus jūsu Linux sistēmas lietotājus.
Termināļa ekrānā tiks parādīts šāda veida formāts:

Sīkāka informācija par /etc /passwd laukiem Formāts
No iepriekš redzamā attēla:

Lietotājvārds: Pirmais lauks attēlo lietotāja vārdu. Lietotājvārda lauka garums ir noteikts no 1–32 rakstzīmēm. To izmanto, kad lietotājs piesakās sistēmā. Iepriekš minētajā piemērā lietotājvārds ir “khuzdar”.
Parole: Iepriekš minētajā piemērā x rakstzīme parāda, ka parole tiek glabāta šifrētā veidā failā /etc /shadow.
Lietotāja ID (UID): User ID katram lietotājam jāpiešķir atsevišķi. Galvenajam lietotājam tiek piešķirta nulle UID, un lietotāja ID no 1 līdz 99 tiek piešķirti iepriekš definētiem vai standarta kontiem. Turpmākie UID no 100–999 tiek piešķirti sistēmas administratīvajiem kontiem vai grupām. Iepriekš redzamajā ekrānuzņēmumā lietotāja ID ir 1001.
Grupas ID (GID): Nākamais lauks attēlo grupas ID. GID tiek saglabāts /etc /group failā. Pamatojoties uz iepriekš minēto piemēru, lietotājs pieder pie grupas ID 1001.
Informācija par User ID: Šis lauks ir paredzēts komentāriem. Šajā laukā varat pievienot papildu informāciju par norādīto lietotāju, piemēram, lietotāja pilnu vārdu, tālruņa numuru utt. Tomēr iepriekš minētajā piemērā lietotājs nesniedz nevienu tālruņa numuru.
Mājas direktorijs: Šis lauks parāda mājas direktorija atrašanās vietu, kas ir piešķirta pašreizējam lietotājam. Ja norādītais direktorijs neeksistē, tas parādīs /. Iepriekš redzamajā attēlā ir redzama izceltā lietotāja atrašanās vieta mājas direktorijā, kas ir home/kbuzdar.
Komanda // apvalks: Korpusa vai komandas noklusējuma absolūtais ceļš ir /bin /bash. Tas ir pazīstams kā apvalks. Piemēram, sysadmin, izmantojot nologīna apvalku. Tas darbojas kā sistēmas lietotāja kontu rezerves apvalks. Ja apvalks atrodas ceļā uz /sbin /nologin un lietotājs vēlas pieteikties tieši Linux sistēmā, /sbin /nologin apvalks slēgs vai atspējos savienojumu.



Meklējiet lietotāju failā /etc /passwd

Jūs varat meklēt konkrētu lietotāju, izmantojot failu /etc /passwd, izmantojot komandu grep. Piemēram, mēs vēlamies meklēt lietotājvārdu “kbuzdar” no faila /etc /passwd, izmantojot šādu sintaksi, tad mēs varam viegli meklēt noteiktu lietotāju, ietaupot laiku:

$satvērienslietotājvārds/utt/passwd

Iepriekš minētā sintakse mainīsies uz šādu formu:

$satvēriensčīkstošs/utt/passwd


Vai

$satvēriens -iekšā '^kbuzdar' /utt/passwd

Parādiet faila /etc /passwd atļaujas

Kā jau minējām iepriekš, visiem citiem lietotājiem, izņemot root, vajadzētu būt iespējai lasīt atļauju failā /etc /passwd un īpašniekam jābūt virslietotājam vai root.
Lai pārbaudītu faila lasīšanas atļaujas, ierakstiet šo:

$ls -viņi /utt/passwd

Terminālī tiks parādīts šāds izvades paraugs:

Tiek lasīts /etc /passwd fails

Jūs varat izlasīt /etc /passwd failu savā Linux sistēmā, izmantojot šo bash skriptu, vai tieši palaist zemāk rakstīto, kamēr cilpas komandas terminālī.
Izveidojiet teksta failu un ielīmējiet tajā šādu kodu:

#!/bin/bash
# kopā septiņi lauki no /etc /passwd tiek saglabāti kā $ f1, f2 ..., $ f7

kamēr IFS=:lasīt -rf1 f2 f3 f4 f5 f6 f7
darīt
izmest ārā 'Lietotājsf1izmantotf7apvalks un saglabā failusf6direktoriju. '
darīts < /utt/passwd

Izmantojot cilpu while, tas nolasīs visus septiņus laukus un pēc tam iteratīvi parādīs faila saturu terminālī.
Saglabājiet iepriekš minēto failu ar nosaukumu “readfile.sh”.

Tagad palaidiet iepriekš minēto failu, izmantojot šādu komandu:

$bashreadfile.sh

Izpētiet failu /etc /shadow

Failā /etc /shadow ir visas jūsu šifrētās paroles, kas ir saglabātas šajā failā un kuras ir lasāmas tikai root lietotājiem.
Izpildīsim šādu komandu, lai parādītu saturu:

$sudo kaķis /utt/ēna

Jūs varat redzēt visu paroli šifrētā formātā:

Secinājums

No iepriekš minētā raksta mēs esam redzējuši visu lietotāja konta informāciju un paroles, kas Linux sistēmā ir saglabātas failā /etc /passwd. Jūs varat izlasīt šo failu, bet rakstīšanas atļaujas ir tikai root lietotājiem. Turklāt mēs esam redzējuši arī visas šifrētās paroles, kas saglabātas failā /etc /shadow. Varat arī izpētīt /etc /group failu, lai iegūtu informāciju par lietotāja grupu.