Az informatika területén a jogosultság fogalmát úgy határozzák meg, mint a számítógépes rendszeren belül a biztonsággal kapcsolatos funkciók végrehajtására vonatkozó felhatalmazás átruházását. A jogosultság lehetővé teszi a felhasználó számára, hogy olyan műveletet hajtson végre, amelynek biztonsági következményei vannak. A különböző jogosultságok közé tartozik például az új felhasználó létrehozásának, szoftver telepítésének vagy a rendszermag funkcióinak módosításának lehetősége.

Azokat a felhasználókat, akiknek magasabb szintű ellenőrzési jogköröket ruháztak át, jogosultsággal rendelkezőnek nevezik. Azokat a felhasználókat, akik a legtöbb jogosultságtól mentesek, jogosultság nélküli, rendes vagy normál felhasználóknak nevezik.

Elmélet A jogosultságok lehetnek automatikusak, megadottak vagy kérelmezettek.

Automatikus jogosultságról akkor beszélünk, ha egy művelet végrehajtásához nincs szükség külön engedélyre. Például azokon a rendszereken, ahol a felhasználóknak be kell jelentkezniük a rendszer használatához, a kijelentkezéshez nincs szükség jogosultságra. Azok a rendszerek, amelyek nem alkalmaznak fájlvédelmet – mint például az MS-DOS –, lényegében korlátlan jogosultságot biztosítanak a fájlokkal kapcsolatos bármely művelet végrehajtására.

A megadott jogosultságok valamilyen hitelesítő adatnak a jogosultságot kiadó hatóság felé történő bemutatásával jönnek létre. Ez általában úgy történik, hogy a felhasználó felhasználónévvel és jelszóval jelentkezik be a rendszerbe; amennyiben a megadott felhasználónév és jelszó helyes, a felhasználó további jogosultságokat kap.

A jogosultságot vagy egy futó program kéri meg, amely kiterjesztett jogosultságokra vonatkozó kérést küld, vagy pedig egy külön program futtatásával lehet kérelmezni a további jogosultságokat. Példa a további jogosultságok iránti kérelmezésre a sudo parancs, amely egy parancsot superuser (root) felhasználóként futtat, vagy a Kerberos hitelesítési rendszer.

A modern processzorarchitektúrák több CPU-móddal rendelkeznek, amelyek lehetővé teszik az operációs rendszer számára, hogy különböző jogosultsági szinteken futtasson. Egyes processzorok két szinttel rendelkeznek (például user és supervisor); az i386+ processzorok négy szinttel rendelkeznek (#0 a legtöbb, #3 a legkevesebb jogosultsággal). A feladatokhoz jogosultsági szint van rendelve. Az erőforrásokhoz (szegmensek, oldalak, portok stb.) és a jogosultsággal rendelkező utasításokhoz a szükséges jogosultsági szint van rendelve. Amikor egy feladat megpróbál egy erőforrást használni, vagy egy jogosultsággal rendelkező utasítást végrehajtani, a processzor meghatározza, hogy rendelkezik-e az engedéllyel (ha nem, akkor „védelmi hiba” megszakítás keletkezik). Ez megakadályozza, hogy a felhasználói feladatok kárt tegyenek az operációs rendszerben vagy egymásban.

A számítógépes programozásban a kiváltságos utasítások megsértésével kapcsolatos kivételek akkor léphetnek fel, ha egy tömb határain kívülre történő hozzáférésre kerül sor, vagy ha egy érvénytelen mutatóra hivatkozás történik, amennyiben az érvénytelen memóriaterület kiváltságos terület, például olyan, amely az eszköz be-/kimenetét vezérli. Ez különösen olyan programozási nyelvekben fordulhat elő gyakrabban, mint például a C, amelyek mutatószámításokat alkalmaznak, vagy nem ellenőrzik automatikusan a tömb határait.

Kritika Mark Miller bírálta a kiváltság fogalmának meghatározását, mivel azt rosszul definiáltnak és nehezen mérhetőnek tartja, és azt javasolta, hogy a jogosultságot inkább a program által elvégezhető műveletek halmazaként határozzák meg, ami hasznosabb.

Unix Az Unix-szerű rendszereken a szuperfelhasználó (közismert nevén „root”) rendelkezik minden jogosultsággal. A hétköznapi felhasználók csak annyi jogosultságot kapnak, amennyi a leggyakoribb feladataik elvégzéséhez szükséges. Az UNIX-rendszerek beépített biztonsági funkciókkal rendelkeznek. A legtöbb felhasználó nem hozhat létre új felhasználói fiókot, és nem végezhet más rendszergazdai műveleteket sem. A „root” felhasználó egy speciális felhasználó, úgynevezett szuperfelhasználó, aki a rendszeren bármit megtehet. Ez a nagyfokú jogosultság szükséges a UNIX rendszer teljes körű kezeléséhez, de lehetővé teszi a felhasználó számára, hogy hibát kövessen el, és rendszerproblémákat okozzon.

A nem privilegizált felhasználók általában nem tudják:

beállítani a kernel opcióit; módosítani a rendszerfájlokat vagy más felhasználók fájljait; megváltoztatni bármely fájl tulajdonjogát; megváltoztatni a futási szintet (System V-típusú inicializálással rendelkező rendszereken); megváltoztatni bármely fájl hozzáférési jogait; beállítani az ulimits-et vagy a lemezkvótákat; elindítani, leállítani és eltávolítani daemonokat; jelzéseket küldeni más felhasználók folyamatai számára; eszközcsomópontokat létrehozni; felhasználókat vagy csoportokat létrehozni vagy eltávolítani; köteteket csatlakoztatni vagy leválasztani (bár egyre gyakoribbá válik, hogy a rendszer lehetővé teszi a normál felhasználók számára a cserélhető adathordozók, például a CD-k csatlakoztatását és leválasztását – ezt általában a FUSE segítségével valósítják meg); bármely sbin/ könyvtár tartalmát végrehajtani (bár egyre gyakoribbá válik, hogy egyszerűen csak korlátozzák az ilyen programok viselkedését, amikor azokat normál felhasználók futtatják); 1024 alatti portokat lekötni.

Windows NT A Windows NT-alapú rendszereken a jogosultságok különböző mértékben kerülnek átruházásra. Ezeket az átruházásokat a helyi biztonsági házirend-kezelővel (secpol.msc) lehet megadni. Az alábbiakban az alapértelmezett beállítások rövidített listája található:

Az „NT AUTHORITY\System” a leginkább az unixszerű rendszerek szuperfelhasználójához hasonló. A klasszikus Unix-szuperfelhasználó számos jogosultságával rendelkezik (például minden létrehozott fájl tulajdonosának számít); Az „Administrator” az egyik leginkább az unixszerű rendszerek szuperfelhasználójához (root) hasonló felhasználó. Ez a felhasználó azonban nem tudja felülírni az operációs rendszer védelmi mechanizmusainak olyan nagy részét, mint a superuser; az „Administrators” csoport tagjai szinte ugyanolyan jogosultságokkal rendelkeznek, mint az „Administrator”; a „Power Users” csoport tagjai képesek programokat telepíteni és biztonsági másolatot készíteni a rendszerről. a „Users” csoport tagjai az Unix-szerű rendszerek nem privilegizált felhasználóinak felelnek meg.

A Windows számos rendszergazdai jogosultságot határoz meg, amelyek egyenként hozzárendelhetők felhasználókhoz és/vagy csoportokhoz. Egy fiók (felhasználó) kizárólag azokat a jogosultságokat birtokolja, amelyeket közvetlenül vagy közvetve – csoporttagságán keresztül – megkapott. A telepítés során számos csoport és fiók jön létre, és ezekhez jogosultságok kerülnek hozzárendelésre. Ezek a jogosultságok azonban később, illetve csoportházirend segítségével módosíthatók. A Linux-szal ellentétben egyetlen fiók sem kap implicit vagy végleges jogosultságokat.

Egyes rendszergazdai jogosultságok (pl. tetszőleges fájlok tulajdonjogának átvétele vagy visszaállítása) olyan hatékonyak, hogy rosszindulatú felhasználásuk esetén a teljes rendszer biztonságát veszélyeztethetik. A felhasználói fiókok felügyelete (amely alapértelmezés szerint a Windows Vista óta aktív) révén a Windows bejelentkezéskor megfosztja a felhasználói tokent ezektől a jogosultságoktól. Így ha egy felhasználó széles körű rendszergazdai jogosultságokkal rendelkező fiókkal jelentkezik be, akkor sem futtatja a programokat ezekkel a jogosultságokkal. Ha a felhasználó olyan rendszergazdai műveletet szeretne végrehajtani, amelyhez rendszerjogosultságokra van szükség, azt egy emelt szintű folyamatból kell megtennie. Egy emelt szintű folyamat elindításakor a rendszer egy megerősítést kérő ablakban tájékoztatja a felhasználót arról, hogy rendszergazdai jogosultságait érvényesíti. Az, hogy a jogosultságokat csak akkor tartják meg, amikor azokra ténylegesen szükség van, összhangban áll a legkisebb jogosultság elvével.

A jogosultságokkal ellátott folyamatok a felhasználó teljes jogosultságaival futnak, nem pedig a rendszer teljes jogosultságaival. Ennek ellenére előfordulhat, hogy a felhasználó jogosultságai meghaladják az adott folyamathoz szükséges mértéket, így nem teljes mértékben felelnek meg a legkisebb jogosultság elvének.

A DOS-alapú Windows Me, Windows 98, Windows 95 és a nem NT-alapú Windows korábbi verziói csak a FAT fájlrendszeren működtek, nem támogatták a fájlrendszer-jogosultságokat, ezért a jogosultságok gyakorlatilag hatástalanok azokon a Windows NT-alapú rendszereken, amelyek nem használják az NTFS fájlrendszert.

Nómenklatúra A Windows forráskódjában használt nevek vagy a „privilege”, vagy a „logonright” végződéssel zárulnak. Ez némi zavart okozott abban a tekintetben, hogy ezeket a „jogokat” és „kiváltságokat” összességében hogyan is kellene nevezni.

A Microsoft jelenleg a „felhasználói jogok” kifejezést használja. A múltban a Microsoft más kifejezéseket is használt, például „privilege rights”, „logon user rights” és „nt-rights”.

Jegyzetek

Fordítás

Kategória:Operációs rendszerek