Biztonság

Hol és hogyan tárolják a jelszavakat a Linuxon?

Hol és hogyan tárolják a jelszavakat a Linuxon?
A felhasználói név egy adott fiókhoz tartozó megfelelő jelszóval az elsődleges követelmény, amelyen keresztül a felhasználó hozzáférhet egy Linux rendszerhez. Az összes felhasználói fiók jelszavát fájlba vagy adatbázisba menti, hogy a felhasználót ellenőrizni lehessen a rendszerbe történő bejelentkezés során. Minden felhasználónak nincs elegendő képessége és szakértelme ahhoz, hogy megtalálja ezt a fájlt a rendszerén. Ha azonban hozzáférést kap az adatbázishoz vagy egy fájlhoz, amely megőrzi a bejelentkezési felhasználó összes jelszavát, akkor könnyen hozzáférhet a Linux rendszerhez. Amikor egy felhasználó bejelentkezési névvel és jelszóval írja be a Linuxot, ellenőrzi a megadott jelszót az '/ etc' könyvtár különböző fájljaiban szereplő bejegyzésekkel.

Az / etc / passwd fájlok megőrzik a felhasználói bejelentkezéshez szükséges összes fontos információt. Hogy egyszerűbb szavakkal magyarázza, az / etc / passwd fájl tárolja a felhasználó fiókjának adatait. Ez a fájl egy egyszerű szöveges fájl, amely tartalmazza a Linux rendszer összes felhasználójának teljes listáját. Információkat tartalmaz a felhasználónévről, jelszóról, UID (felhasználói azonosító), GID (csoport azonosító), shellről és a saját könyvtárról. Ennek a fájlnak olvasási engedéllyel kell rendelkeznie, mivel sok parancssori segédprogramot használnak a felhasználói azonosítók felhasználói névhez való hozzárendeléséhez. Csak korlátozott írási hozzáférési jogosultságokkal kell rendelkeznie, csak a felhasználói vagy a root felhasználói fiókokhoz.

Ez a cikk bemutatja, hogyan és hol tárolhatja a rendszer felhasználói fiókjának jelszavait a Linux disztribúción. Az összes bemutatót megvalósítottuk az Ubuntu 20-on.04 rendszer. Az / etc / passwd fájl azonban megtalálható bármely Linux disztribúción.

Előfeltételek

Rendszergazdai jogosultságokkal kell rendelkeznie az adminisztrációs parancsok futtatásához.

Alapvető megértés az / etc / passwd fájlról

Az / etc / passwd fájl tartalmazza a rendszer felhasználói fiókjával kapcsolatos információkat. Az összes tárolt mező el van választva a kettőspont „:” jelétől.
A következő parancs futtatásakor látni fogja az / etc / passwd fájl minden fájlbejegyzését:

$ cat / etc / passwd

A fenti parancs felsorolja a Linux rendszer összes felhasználóját.
A következő típusú formátum jelenik meg a terminál képernyőjén:

Részletek az / etc / passwd mezőkről Formátum
A fenti képből:

Felhasználónév: Az első mező a felhasználó nevét jelöli. A felhasználónév mező hossza 1-32 karakter között van megadva. Ezt akkor használják, amikor a felhasználó bejelentkezik a rendszerbe. A fenti példában a 'khuzdar' a felhasználónév.
Jelszó: A fenti példában az „x” karakter azt mutatja, hogy a jelszót titkosított formában tároljuk az / etc / shadow fájlban.
Felhasználói azonosító (UID): A felhasználói azonosítót minden felhasználóhoz külön kell rendelni. Az UID nulla a gyökérfelhasználóhoz, az 1–99 felhasználói azonosítók pedig előre definiált vagy szabványos fiókokhoz vannak rendelve. A további 100-999 UID-k a rendszergazdai fiókokhoz vagy csoportokhoz vannak hozzárendelve. A fenti képernyőképen a felhasználói azonosító 1001.
Csoport azonosítója (GID): A következő mező a csoport azonosítóját jelöli. A GID az / etc / group fájlba van tárolva. A fenti példa alapján a felhasználó az 1001 azonosítóhoz tartozik.
Információk a felhasználói azonosítóról: A következő mező a megjegyzésekhez szól. Ebben a mezőben adhat további információkat a megadott felhasználóval kapcsolatban, például a felhasználó teljes nevét, telefonszámát stb. A fenti példában azonban a felhasználó nem ad meg telefonszámot.
Kezdőlap: Ez a mező mutatja az aktuális felhasználóhoz rendelt otthoni könyvtár helyét. Ha a megadott könyvtár nem létezik, akkor a „/”. A fenti kép a kiemelt felhasználó helyét mutatja a saját könyvtárban, amely a home / kbuzdar.
Parancs // shell: A shell vagy parancs alapértelmezett abszolút elérési útja a / bin / bash. Ez az úgynevezett héj. Például a sysadmin a nologin shell használatával. Úgy viselkedik, mint a rendszer felhasználói fiókok helyettesítő héja. Ha a héj az / sbin / nologin elérési útján található, és a felhasználó közvetlenül a Linux rendszerbe szeretne bejelentkezni, akkor a / sbin / nologin héj bezárja vagy letiltja a kapcsolatot.

A felhasználó keresése az / etc / passwd fájlban

Az / etc / passwd fájl segítségével kereshet egy adott felhasználót a grep paranccsal. Például meg akarjuk keresni a 'kbuzdar' felhasználónévet az / etc / passwd fájlból, a következő szintaxissal, majd könnyedén kereshetünk egy megadott felhasználót, ezzel időt takaríthatunk meg:

$ grep felhasználónév / etc / passwd

A fenti szintaxis a következő formára változik:

$ grep kbuzdar / etc / passwd


Vagy

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

Megjeleníti az / etc / passwd fájl engedélyeit

Mint fent említettük, a root kivételével az összes többi felhasználónak képesnek kell lennie az / etc / passwd fájl engedélyeinek olvasására, és a tulajdonosnak felülfelhasználónak vagy rootnak kell lennie.
Írja be a következőt a fájl olvasási engedélyeinek ellenőrzéséhez:

$ ls -l / etc / passwd

A következő kimeneti minta jelenik meg a terminálon:

Az / etc / passwd fájl olvasása

Elolvashatja az / etc / passwd fájlt a Linux rendszerén a következő bash szkript használatával, vagy közvetlenül futtathatja az alább leírtakat, miközben a ciklus parancsok a terminálon.
Hozzon létre egy szövegfájlt, és illessze be a következő kódot:

#!/ bin / bash
# összesen hét mező az / etc / passwd fájlból $ f1, f2…, $ f7 néven tárolva
míg IFS =: olvassa -r f1 f2 f3 f4 f5 f6 f7
csinálni
echo "A $ f1 felhasználó a $ f7 parancsértelmezőt használja, és a fájlokat a $ f6 könyvtárban tárolja."
Kész < /etc/passwd

A while ciklus segítségével mind a hét mezőt beolvassa, majd a fájl tartalmát iteratív módon megjeleníti a terminálon.
Mentse el a fenti fájlt 'readfile néven.SH'.

Most futtassa a fenti fájlt a következő paranccsal:

$ bash readfile.SH

Fedezze fel az / etc / shadow fájlt

Az / etc / shadow fájl tartalmazza az összes titkosított jelszót, amelyet ebben a fájlban tárolnak, és amelyek csak a root felhasználók számára olvashatók.
Futtassuk a következő parancsot a tartalom megjelenítéséhez:

$ sudo cat / etc / shadow

Az összes jelszót titkosított formátumban láthatja:

Következtetés

A fenti cikkből láthattuk a felhasználó összes fiókadatát és jelszavát, amelyeket az / etc / passwd fájl tárolt a Linux rendszerben. Elolvashatja ezt a fájlt, de csak a root felhasználók rendelkeznek „írási engedéllyel”. Sőt, láttuk az / etc / shadow fájlban tárolt összes titkosított jelszót is. Az / etc / group fájlt is felfedezheti, hogy részleteket kapjon a felhasználó csoportjáról.

A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...