Autorizácia prístupu

Keď sa užívateľ prihlási na konto (pomocou príkazov login alebo su), užívateľským procesom sú priradené ID užívateľa a ID skupiny priradené k danému kontu. Tieto ID určujú prístupové práva procesu.

Proces s ID užívateľa hodnoty 0 je známy ako proces užívateľa s oprávneniami typu root. Tieto procesy majú obvykle povolené všetky prístupové práva. Ak však proces užívateľa s oprávneniami typu root požaduje oprávnenie na spustenie programu, je prístup pridelený len v prípade, že je oprávnenie na spustenie pridelené aspoň jednému užívateľovi.

Autorizácia prístupu pre zoznamy ACL AIXC.

Vlastník informačného prostriedku je zodpovedný za riadenie prístupových práv. Prostriedky sú chránené pomocou bitov oprávnení, ktoré sú zahrnuté v režime objektu. Bity oprávnení definujú prístupové práva pridelené vlastníkovi objektu, skupine objektu a predvolenej triede others. Operačný systém podporuje tri rôzne režimy prístupu (na čítanie, zápis a spúšťanie), ktoré možno udeľovať samostatne.

V prípade súborov, adresárov, pomenovaných dátovodov a zariadení (špeciálnych súborov) je prístup autorizovaný nasledovne:

  • Pre každú položku riadenia prístupu (ACE) v ACL sa porovná zoznam identifikátorov s identifikátormi procesu. V prípade zhody sú procesu udelené oprávnenia a obmedzenia definované pre danú položku. Logické zjednotenia pre obe oprávnenia sa vypočítajú pre každú zhodnú položku v zozname prístupových práv. Ak sa požadujúci proces nezhoduje so žiadnou z položiek na zozname ACL, budú mu udelené povolenia a obmedzenia predvolenej položky.
  • Ak je požadovaný režim prístupu povolený (zahrnutý v zjednotení povolení) a nie je obmedzený (zahrnutý v zjednotení obmedzení), prístup sa pridelí. V opačnom prípade je prístup zakázaný.

Zoznam identifikátorov v zozname prístupových práv sa zhoduje s procesom, ak sa všetky identifikátory v zozname zhodujú so zodpovedajúcim typom efektívneho identifikátora pre požadujúci proces. Identifikátor typu USER sa zhoduje, ak zodpovedá ID efektívneho užívateľa procesu a identifikátor typu GROUP sa zhoduje, ak zodpovedá ID efektívnej skupiny procesu alebo jednému z ID doplnkových skupín. Napríklad, položka ovládania prístupu s nasledovným zoznamom identifikátorov:

USER:fred, GROUP:filozofi, GROUP:softverovi_programatori

by sa zhodovala s procesom s efektívnym ID užívateľa fred a množinou skupín:

filozofi, filantropi, softverovi_programatori, technici

nezhodovala by sa však s procesom s efektívnym ID užívateľa fred a množinou skupín:

filozofi, ucitelia, hardverovi_vyvojari, studenti

Všimnite si, že položka ovládania prístupu s nasledovným zoznamom identifikátorov by sa zhodovala s oboma procesmi:

USER:fred, GROUP:filozofi

Inými slovami, zoznam identifikátorov v položke ovládania prístupu predstavuje množinu podmienok, ktoré musia byť splnené, aby bol zadaný prístup pridelený.

Kontrola prístupových práv pre tieto objekty sa vykonáva na úrovni systémových volaní pri prvom prístupe k objektu. Pretože k objektom SVIPC sa pristupuje nezávisle, kontrola sa vykonáva pre každý prístup. V prípade objektov s názvami súborového systému je potrebné, aby bolo možné rozlíšiť názov aktuálneho objektu. Názvy sa rozlišujú buď relatívne (voči pracovnému adresáru procesu), alebo absolútne (voči koreňovému adresáru procesu). Celé rozlišovanie názvu začína vyhľadaním jedného z týchto adresárov.

Mechanizmus riadenia prístupu na základe uváženia užívateľa umožňuje efektívne ovládanie prístupu k informačným prostriedkom a poskytuje osobitnú ochranu dôvernosti a integrity informácií. Mechanizmy vlastníkom riadeného prístupu sú však len tak efektívne, ako ich užívatelia navrhnú. Všetci užívatelia by mali chápať princípy prideľovania a zakazovania prístupových práv a ich nastavovania.

Autorizácia prístupu pre zoznamy ACL NFS4

Každý užívateľ s privilégiom pre WRITE_ACL môže ovládať prístupové práva. Vlastník informačného prostriedku má vždy privilégium na WRITE_ACL. Pre súbory a adresáre so zoznamami ACL NFS4 sa prístup autorizuje takto:
  • Zoznam ACE sa spracováva v poradí a na spracovanie sú určené len tie ACE, ktoré majú "who" (t.j. identitu) zhodnú so žiadateľom. Povoľovacie údaje žiadateľa sa počas spracovania ACE so špeciálnym who EVERYONE@ nekontrolujú.
  • Každá ACE sa spracováva až do povolenia všetkých bitov žiadateľovho prístupu. Po povolení bitu sa tento už viac nezohľadňuje v spracovaní neskorších ACE.
  • Ak je ktorýkoľvek bit zodpovedajúci žiadateľovmu prístupu odmietnutý, prístup bude odmietnutý a zvyšné ACE nebudú spracované.
  • Ak neboli povolené všetky bity žiadateľovho prístupu a žiadna ďalšia ACE nezostala na spracovanie, prístup bude odmietnutý.

Ak je požadovaný prístup odmietnutý položkami ACE a žiadajúcim užívateľom je superužívateľ alebo kmeňový užívateľ, prístup bude vo všeobecnosti povolený. Všimnite si, že vlastník objektu má vždy povolené READ_ACL, WRITE_ACL, READ_ATTRIBUTES a WRITE_ATTRIBUTES. Bližšie informácie o algoritme autorizácie prístupu nájdete v Zoznam riadenia prístupov NFS4.