Oprávnění (OpenVMS)
Author
Albert FloresOprávnění v operačním systému OpenVMS umožňuje uživateli nebo procesu provádět akce, které by mohly ohrozit bezpečnost systému.
SET PROCESS /PRIVILEGES=(oprávnění[,...])
Fungování oprávnění
Každému běžícímu procesu jsou přiřazena:
* oprávnění procesu - jsou aktuální oprávnění, která proces může použít * autorizovaná oprávnění - oprávnění přidělená uživateli; aby je proces mohl použít, musí použít příkaz SET PROCESS /PRIVILEGES nebo lexikální funkci F$SETPRV
Přehled oprávnění
Oprávnění | Význam |
---|---|
ACNT | Vytvářet procesy, pro které se neprovádí účtování |
ALLSPOOL | Alokovat spoolovaná zařízení |
ALTPRI | Měnit priority procesů |
AUDIT | Generovat účtovací záznamy |
BUGCHK | Vytvářet bugcheck error log entries |
BYPASS | Všechna práva ke všem souborům bez ohledu na jejich ochranu založenou na UIC |
CMEXEC | Změnit režim na executive |
CMKRNL | Změnit režim na kernel |
DETTACH | Vytvářet odpojené (detached) procesy s jiným UIC |
DIAGNOSE | Provádět diagnostiku zařízení |
DOWNGRADE | Snižovat klasifikaci |
EXQUOTA | Překračovat kvóty |
GROUP | Ovlivňovat procesy ve své skupině |
GRPNAM | Přidávat logická jména do tabulky group |
GRPPRV | Pokud má uživatel stejnou skupinu jako vlastník souboru, platí pro něj přístupová práva kategorie Systém |
IMPERSONATE | Vytvářet procesy s jiným UIC (nahrazuje DETTACH) |
IMPORT | Připojit páskový svazek bez jmenovky |
LOG_IO | Provádět logické V/V operace |
MOUNT | Připojovat svazky |
NETMBX | Vytvářet síťová zařízení |
OPER | Všechna oprávnění operátora (rozesílat zprávy pro všechny uživatele) |
PFNMAP | Mapovat na sekci podle fyzického čísla rámce stránky |
PHY_IO | Provádět fyzické V/V operace |
PRMCEB | Vytvářet a rušit permanentní společné clustery příznaků událostí (common event flag clusters) |
PRMGBL | Vytvářet permanentní globální sekce |
PRMMBX | Vytvářet permanentní schránky pro meziprocesovou komunikaci |
PSWAPM | Změnit swapovací režim procesu |
READALL | Číst všechny soubory bez ohledu na nastavení jejich ochrany |
SECURITY | Provádět bezpečnostní funkce |
SETPRV | Přidělit jakémukoli procesu jakákoli oprávnění (i když nejsou autorizovaná pro uživatele, který process spustil) |
SHARE | Přidělit kanál nesdílenému zařízení |
SYSGBL | Vytvářet systémové globální sekce |
SYSLCK | Žádat o celosystémové zámky |
SYSNAM | Přidávat logická jména do tabulky system |
SYSPRV | Pro uživatele se uplatní práva kategorie Systém |
TMPMBX | Vytvářet dočasné schránky pro meziprocesovou komunikaci |
UPGRADE | Zvyšovat klasifikaci |
VOLPRO | Obcházet ochranu svazku |
WORLD | World process control |
Pro přidělení autorizovaných oprávnění slouží lexikální funkce F$SETPRV; funkce vrací seznam původních nastavení použitých privilegií (nepřidělená mají předponu "NO"), což umožňuje návrat k původním privilegiím dalším zavoláním F$SETPRV:
$ OLDPRIV = F$SETPRV("OPER,TMPMBX") $! Otestování, zda se přidělení oprávnění podařilo $! provedení činnosti, ke které byla potřeba vyšší oprávnění $ PREVPRIV = F$SETPRV(OLDPRIV)
Pro zjištění, zda proces má potřebná oprávnění, slouží lexikální funkce F$PRIVILEGE; funkce vrací "FALSE" při neúspěchu a "TRUE" při úspěchu:
$ HASPRIV = F$PRIVILEGE("OPER","TMPMBX") $ IF HASPRIV .EQS. "FALSE" $ THEN $ WRITE SYS$ERROR "The process does not have privileges OPER and TMPMBX - exiting" $ EXIT $ ENDIF
Reference
Literatura
Paul C. Anagnostopoulos, Steve Hoffman: Writing Real Programs in DCL, Second Edition, 1998, Digital Press.
Související články
Externí odkazy
[url=https://web.archive.org/web/20120414220910/http://h71000.www7.hp.com/doc/732final/9996/9996pro.html]HP OpenVMS DCL Dictionary[/url]