Friday 6 December 2013

Felhasználók, csoportok, avagy jogosultságkezelés

Linux rendszereken ha valami nem működik megfelelően, akkor sok esetben a megfelelő jogosultság hiánya miatt van.
A unixokat alapvetően többfelhasználós rendszereknek tervezték, emiatt elég szerteágazó a jogosultságkezelése. Szinte minden szolgáltatásnak külön felhasználója, és csoportja van, és csak akkor tudjuk használni az adott erőforrást, ha van megfelelő jogosultságunk (pl: tagjai vagyunk az adott csoportnak).
 Korábban már említettem, hogy linuxban minden dolog file. A file-ok típusát pl az ls -l paranccsal tudjuk kideríteni. ilyenkor megjelenik soksok információ a file-név előtt (pl: lrwxrwxrwx 1 root root 8 Nov 22 16:47).

File tulajdonságok:

 példa: lrwxrwxrwx 1 root root 8 Nov 22 16:47 net -> self/net
  • lrwxrwxrwx - típus, és jogok (Read,Write,eXecute)
  • 1 - méret
  • root - tulajdonos felhasználó
  • root - tulajdonos csoport
  • 8 Nov 22 16:47 - utolsó módosítás dátuma
 Minden fájlnak van egy tulajdonos felhasználója, és egy tulajdonos csoportja. a típus és jogok rész ehhez kapcsolódik.
  • első karakter: file típusa
  • 2-4. karakter: tulajdonos felhasználó jogai (user rights)
  • 5-7. karakter: tulajdonos csoport jogai (group rights)
  • 8-10. karakter: bárki más jogai (other rights)

File típusa:

Mivel linuxon minden file-ra képződik le, valahogy meg kell különböztetni őket, erre van a típus.
  • - : nincs speciális típusa, ez a hagyományos értelemben vett file
  • b : blokkos eszköz
  • c: karakteres eszköz
  • d: könyvtár/mappa
  • l: link 

Jogosultságok: 

 A típusjelző utáni 9 karakter a jogokat jelöli 3x3-as blokkban.
  • 2,5,8. karakterek: van-e olvasási joga a felhasználónak/csoportnak/bárki másnak
  • 3,6,9. karakterek: van-e írási joga a felhasználónak/csoportnak/bárki másnak
  • 4,7,10. karakterek: van-e végrehajtási joga a felhasználónak/csoportnak/bárki másnak. A végrehajtási jog típusonként eltérő dolgot jelent. Fájl esetén futtatás, könyvtár esetén belépés a könyvtárba.

 Felhasználók, csoportok

Linuxon többféle felhasználó létezik a legfontosabb a root, akinek mindenhez van joga,  és mindig létezik ( windows-on az Administrator felhasználó a megfelelője). Léteznek system felhasználók, ezek valamilyen szolgáltatáshoz tartoznak (adatbázis, webszerver, naplózás, stb.). A normál felhasználók 500-tól, vagy 1000-től szoktak kezdődni.
A rendszer helyi felhasználóinak listáját leggyorsabban a /etc/passwd file-ban tudjuk megnézni. Ennek struktúrája:
eff:x:1000:1000:eff,,,:/home/eff:/bin/bash
  • felhasználónév: az a név amivel azonosít a rendszer
  • authentikációs indikátor: általában x, ami azt jelenti sok rendszeren, hogy máshol van a jelsző/authentikáció tárolva. Ez tipikusan a shadow fájl.
  • uid (user identifier): a felhasználó azonosító száma. több féle felhasználó van, a 0-100 értékek tipikusan speciális rendszerszintű felhasználókat jelölnek (pl: root=0), más rendszerekben 0-499-ig, debian és ubuntu esetén pedig 0-999-ig.
  • gid (group identifier): a felhasználó elsődleges csoportjának szonosítója
  • felhasználói adatok: név,kapcsolattartó,telefonszám,egyéb elérhetőségek
  • home könyvtár: a felhasználó saját könyvtárának elérési útja
  • shell: az alapértelmezett shell
A rendszer általt használt csoportok a /etc/group fájlban vannak felsorolva. Ennek struktúrája:
sudo:x:27:eff
  • csoportnév: a csoport neve
  • jelszó: általában x, ami külső authentikációt jelent. Én még soha nem láttam csoportjelszót beállítva
  • gid (group id): csoport azonosító
  • felhasználók: ide kerülnek azoknak a felhasználóknak a nevei vesszővel elválasztva, akik beletartoznak a csoportba, de nem ez az elsődleges csoportjuk
A jelszavakat a linuxok legtöbbször az úgy nevezett shadow fájlban tárolják. Ez a /etc/shadow, amihez csak a root felhasználó,  és a shadow csoport fér hozzá.

No comments:

Post a Comment