Oprá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$SETPRVHP OpenVMS Systems Documentation HP OpenVMS DCL Dictionary - 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$PRIVILEGEHP OpenVMS Systems Documentation HP OpenVMS DCL Dictionary - 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

OpenVMS Digital Command Language

Externí odkazy

HP OpenVMS DCL Dictionary

Kategorie:OpenVMS