Felhasználók, csoportok: tárolása a rendszerben
2009. April 26. - 09:45 | szerző: jonci

A GNU/Linux rendszerek lehetővé teszik, hogy több felhasználó is használhassa a rendszer, akár egyidejűleg is. Szükséges, hogy a felhasználói információkat (felhasználói név, jelszó, stb.) a rendszer tárolja “valahol“. Most ezt a “valahol“-t nézzük át, merre és hogyan tárolódnak az információk.

Felhasználók, csoportok és jelszavak tárolása

A rendszer által ismert felhasználók listáját a /etc/passwd, a csoportokét a /etc/group fájl tárolja. Kezdetben más egyéb információk mellett még a jelszavakat is e fájl tartalmazta, amit a rendszer minden felhasználója olvasni tudott, ezért a jelszavak tárolására nem volt a legbiztonságosabb. A jelszavak egyirányú kódolással tárolódnak, azaz jelenleg nincs olyan közismert matematikai algoritmus, amivel vissza lehetne fejteni, de brutalforce módszerrel (nyers erő = végigpróbálgatni a jelszavakat) neki lehet esni, amivel csak idő kérdése a siker. A jelszavak megvédésére létrehozták a /etc/shadow fájlt, amit csak a root felhasználó és a shadow csoport tagjai olvashatnak, és ebbe helyezték át a kódolt jelszavakat.

Minden felhasználóhoz (UID) és csoporthoz (GID) egy pozitív egész szám tartozik. A rendszer csak szám alapján képes kezelni őket és csak a kijelzésnél “konvertálódnak” át névvé a /etc/passwd és a /etc/group fájlban tárolt információk alapján. A rendszergazda száma a 0 (nulla), a többi felhasználó száma Debian rendszerekben 999 feletti. Amikor egy felhasználót hozzáadunk a rendszerhez, kap egy azonosító számot, valamint létrejön a felhasználói nevével azonos csoport is, amelyhez ugyanaz az azonosító szám tartozik. Ha foglalt már ez a szám, akkor növekvő irányban az első szabad GID számot kapja. Felhasználó eltávolítása esetén az azonosító szám felszabadul és újra felhasználhatóvá válik.

A jonci felhasználó a /etc/passwd fájlban a következőképpen néz ki:

jonci:x:1000:1000:Jónás Zsolt,,,:/home/jonci:/bin/bash

A sorban eltárolt információkat a “:” (kettőspont) jel tagolja területekre. Legelöl szerepel a felhasználói név. A következő részben helyezkedne el a jelszó, ami biztonsági szempontból már nem itt tárolódik. Az “x” karakter jelzi, hogy a /etc/shadow fájlban kell keresni. Ha az “x” helyett “!” (felkiáltójel) van, akkor az adott felhasználó belépése tiltva van, de ajánlott inkább a shadow fájlban tiltani a belépést. A következő oszlopban szerepel a felhasználó-azonosító szám (UID), utána a csoportazonosító szám (GID). Majd egy nagyobb rész következik, ami a felhasználóról tárol információkat, ha ki lett töltve (teljes név, szobaszám, telefonszám, stb.). Az utolsó előtti rész tárolja a felhasználó saját (home) könyvtárát. Legvégül pedig a login-shell programot kell megadni elérési útvonallal együtt, ez a program fogja fogadni a felhasználót sikeres bejelentkezés esetén. Ha egy felhasználót nem akarunk kitiltani a rendszerből, csak a login lehetőséget szeretnénk megvonni tőle, akkor login-shell-nek adjuk meg a /bin/false programot.

A rendszerben létező csoportok tárolása a /etc/group fájlban történik. Nézzünk meg ebből is egy sort, hogyan is épül fel:

audio:x:1000:jonci,pedro

A különböző területeket itt is a “:” (kettőspont) jel választja el. Minden sor a csoportnévvel kezdődik, ezután következik a kódolt jelszó, de a /etc/gshadow fájl használata esetén csak egy “x” látható. A harmadik oszlopban helyezkedik el a csoportazonosító. Legvégül pedig a csoportba tartozó felhasználók azonosítója, vesszővel elválasztva.

Most pedig nézzünk egy példát a /etc/shadow fájlra:

jonci:$1$jukMheGi$XxA6d1eneUhYBxT/8saI40:14360:0:99999:7:::

A már megszokott “:” (kettőspont) jel szolgál itt is a mezők szeparálására. A felhasználói névvel kezdődik a sor, majd jön a kódolt jelszó. Ezután a jelszóra és az azonosítóra vonatkozó adatok:

  • 1970 január 1-je óta eltelt napok száma az utolsó jelszóváltoztatásig
  • Két jelszóváltoztatás közötti maximális idő napokban
  • Két jelszóváltoztatás közötti minimális idő napokban
  • A jelszó lejárása előtt hány nappal kell a felhasználót figyelmeztetni
  • A jelszó lejárása után mennyi nap múlva váljon a hozzáférés letiltottá
  • 1970 január 1-je óra eltelt napok száma addig, amikor le lett tiltva a hozzáférés
  • ez a mező fenntartva

Csoportok számára is létrehoztak egy shadow fájlt gshadow néven, ami szintén a /etc könyvtárban található meg. Ebben a fájlban is a “:” (kettőspont) jel szolgál a mezők elválasztárása. A /etc/gshadow fájl szintaktikája a következő:

csoportnév:jelszó:csoportadmin,csoportadmin,...:tag,tag,...
Email This Post Email This Post Print This Post Print This Post
 
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Szólj hozzá!