Varnost

Kje in kako se v Linuxu shranjujejo gesla?

Kje in kako se v Linuxu shranjujejo gesla?
Uporabniško ime z ustreznim geslom za določen račun je glavna zahteva, prek katere lahko uporabnik dostopa do sistema Linux. Geslo za vse uporabniške račune se shrani v datoteko ali bazo podatkov, tako da je uporabnika mogoče preveriti med poskusom prijave v sistem. Vsak uporabnik nima dovolj veščin in strokovnega znanja, da bi to datoteko našel v svojem sistemu. Če pa dobite dostop do baze podatkov ali datoteke, ki hrani vsa gesla uporabniškega imena, lahko enostavno dostopate do sistema Linux. Ko uporabnik v Linux vnese uporabniško ime in geslo za prijavo, preveri vneseno geslo glede na vnos v različnih datotekah imenika '/ etc'.

Datoteke / etc / passwd hranijo vse pomembne informacije, ki so potrebne za prijavo uporabnika. Da bi to pojasnili s preprostejšimi besedami, datoteka / etc / passwd shrani podrobnosti o uporabnikovem računu. Ta datoteka je navadna besedilna datoteka, ki vsebuje popoln seznam vseh uporabnikov v vašem sistemu Linux. Vsebuje informacije o uporabniškem imenu, geslu, UID (ID uporabnika), GID (ID skupine), lupini in domačem imeniku. Ta datoteka bi morala imeti dovoljenja za branje, saj se številni pripomočki ukazne vrstice uporabljajo za preslikavo ID-jev uporabnikov v uporabniško ime. Vendar bi morala imeti omejena dovoljenja za dostop do pisanja samo za račune super uporabnikov ali korenskih uporabnikov.

Ta članek bo prikazal, kako in kje lahko shranite gesla za sistemske uporabniške račune v distribuciji Linuxa. Izvedli smo vse predstavitve na Ubuntu 20.04 sistem. Datoteko / etc / passwd pa lahko najdete v kateri koli distribuciji Linuxa.

Predpogoji

Za zagon skrbniških ukazov bi morali imeti korenske privilegije.

Osnovno razumevanje datoteke / etc / passwd

Datoteka / etc / passwd vsebuje informacije o uporabniškem računu vašega sistema. Vsa shranjena polja so ločena od dvopičja »:«.
Ko zaženete naslednji ukaz, boste videli vsak vnos datoteke / etc / passwd:

$ cat / etc / passwd

Zgornji ukaz bo seznam vseh uporabnikov vašega sistema Linux.
Na zaslonu terminala se prikaže naslednja oblika zapisa:

Podrobnosti o poljih / etc / passwd Oblika
Iz zgornje slike:

Uporabniško ime: Prvo polje predstavlja uporabnikovo ime. Dolžina polja z uporabniškim imenom je določena med 1-32 znaki. To se uporablja, ko se uporabnik prijavi v sistem. V zgornjem primeru je 'khuzdar' uporabniško ime.
Geslo: V zgornjem primeru znak "x" kaže, da je geslo v datoteki / etc / shadow shranjeno v šifrirani obliki.
ID uporabnika (UID): User ID mora biti vsakemu uporabniku dodeljen ločeno. Ničelna številka UID je dodeljena korenskemu uporabniku, ID-ji uporabnikov od 1 do 99 pa vnaprej določenim ali standardnim računom. Nadaljnji UID-ji od 100 do 1999 so dodeljeni sistemskim skrbniškim računom ali skupinam. Na zgornjem posnetku zaslona je ID uporabnika 1001.
ID skupine (GID): Naslednje polje predstavlja ID skupine. GID se shrani v datoteko / etc / group. Na podlagi zgornjega primera uporabnik pripada skupini ID 1001.
Informacije o User ID: Naslednje polje je namenjeno komentarjem. V to polje lahko dodate nekaj dodatnih informacij o določenem uporabniku, na primer njegovo polno ime, telefonsko številko itd. Vendar v zgornjem primeru uporabnik ne navede nobene telefonske številke.
Domači imenik: To polje prikazuje lokacijo domačega imenika, ki je dodeljen trenutnemu uporabniku. Če navedeni imenik ne obstaja, bo prikazan “/”. Zgornja slika prikazuje lokacijo označenega uporabnika v domačem imeniku, ki je home / kbuzdar.
Ukaz // lupina: Privzeta absolutna pot lupine ali ukaza je / bin / bash. To je znano kot lupina. Na primer sysadmin, ki uporablja lupino nologin. Obnaša se kot nadomestna lupina za sistemske uporabniške račune. Če se lupina nahaja na poti do / sbin / nologin in se uporabnik želi prijaviti neposredno v sistem Linux, bo lupina / sbin / nologin zaprla ali onemogočila povezavo.

Poiščite uporabnika v datoteki / etc / passwd

Z datoteko / etc / passwd lahko iščete določenega uporabnika z ukazom grep. Na primer, želimo poiskati uporabniško ime 'kbuzdar' iz datoteke / etc / passwd z uporabo naslednje sintakse, nato pa lahko enostavno poiščemo določenega uporabnika in prihranimo svoj čas:

$ grep uporabniško ime / etc / passwd

Zgornja sintaksa se bo spremenila v naslednjo obliko:

$ grep kbuzdar / etc / passwd


Ali

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

Prikaži dovoljenja v datoteki / etc / passwd

Kot smo že omenili, bi morali vsi drugi uporabniki, razen root, imeti možnost branja dovoljenja v datoteki / etc / passwd in da mora biti lastnik super uporabnik ali root.
Vnesite naslednje, da preverite dovoljenja za branje v datoteki:

$ ls -l / etc / passwd

Na terminalu bo prikazan naslednji izhodni vzorec:

Branje datoteke / etc / passwd

Datoteko / etc / passwd lahko preberete v sistemu Linux z naslednjim bash skriptom ali neposredno zaženete spodnje zapise, medtem ko ukaze zanke na terminalu.
Ustvarite besedilno datoteko in vanjo prilepite naslednjo kodo:

#!/ bin / bash
# skupaj sedem polj iz / etc / passwd, shranjenih kot $ f1, f2…, $ f7
medtem ko je IFS =: branje -r f1 f2 f3 f4 f5 f6 f7
naredi
echo "Uporabnik $ f1 uporablja lupino $ f7 in shranjuje datoteke v imenik $ f6."
Končano < /etc/passwd

Z zanko while bo prebral vseh sedem polj in nato na terminalu iterativno prikazal vsebino datoteke.
Zgornjo datoteko shranite z imenom 'readfile'.sh '.

Zdaj zaženite zgornjo datoteko z naslednjim ukazom:

$ bash bralna datoteka.sh

Raziščite datoteko / etc / shadow

Datoteka / etc / shadow vsebuje vsa vaša šifrirana gesla, ki so shranjena v tej datoteki in so berljiva samo za korenske uporabnike.
Za prikaz naslednjega ukaza zaženimo vsebino:

$ sudo cat / etc / shadow

Vsa gesla si lahko ogledate v šifrirani obliki:

Zaključek

Iz zgornjega članka smo videli vse podrobnosti o uporabniškem računu in gesla, shranjena v datoteki / etc / passwd v sistemu Linux. To datoteko lahko preberete, vendar imajo dovoljenja za pisanje samo korenski uporabniki. Poleg tega smo videli tudi vsa šifrirana gesla, shranjena v datoteki / etc / shadow. Prav tako lahko raziščete datoteko / etc / group, da dobite podrobnosti o uporabniški skupini.

WinMouse vam omogoča prilagajanje in izboljšanje premikanja kazalca miške v računalniku z operacijskim sistemom Windows
Če želite izboljšati privzete funkcije kazalca miške, uporabite brezplačno programsko opremo WinMouse. Dodaja več funkcij, s pomočjo katerih boste kar...
Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...
Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...