Oprávnění (OpenVMS)

Oprávnění (anglicky privilege) 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í editovat

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í editovat

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[1]; 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[2]; 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 editovat

  1. HP OpenVMS Systems Documentation Archivováno 24. 4. 2014 na Wayback Machine. HP OpenVMS DCL Dictionary - F$SETPRV
  2. HP OpenVMS Systems Documentation Archivováno 24. 4. 2014 na Wayback Machine. HP OpenVMS DCL Dictionary - F$PRIVILEGE

Literatura editovat

  • Paul C. Anagnostopoulos, Steve Hoffman: Writing Real Programs in DCL, Second Edition, 1998, Digital Press. ISBN 1-55558-191-9

Související články editovat

Externí odkazy editovat