Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce přístupové masky popisuje přístupová práva v kompaktní podobě. Pro zjednodušení správy přístupu obsahuje maska přístupu sadu čtyř bitů, obecná práva, které jsou přeloženy do sady podrobnějších práv pomocí funkce RtlMapGenericMask.
Následující obrázek znázorňuje masku přístupu.
Obecná práva jsou:
GENERIC_READ – právo číst informace, které objekt udržuje.
GENERIC_WRITE – právo napsat informace, které objekt udržuje.
GENERIC_EXECUTE – právo spustit nebo případně nahlédnout do objektu.
GENERIC_ALL – právo číst, zapisovat a spouštět objekt.
Tato práva je možné kombinovat. Můžete například požadovat GENERIC_READ i GENERIC_WRITE. Výsledné mapování vyžaduje sjednocení práv potřebných pro každé obecné právo. Toto paradigma napodobuje přístupové bity systému UNIX rwx, které slouží k řízení přístupu k prostředkům systému UNIX. Obecná práva v přístupové masce zjednodušují vývoj aplikací ve Windows, protože tato práva maskují různá práva zabezpečení pro různé typy objektů.
Následující sada standardních práv platí pro všechny typy objektů:
DELETE – právo odstranit konkrétní objekt.
READ_CONTROL – právo číst informace o ovládacím prvku (zabezpečení) objektu.
WRITE_DAC – právo změnit informace o ovládacím prvku (zabezpečení) objektu.
WRITE_OWNER – právo změnit identifikátor SID vlastníka objektu. Vzpomeňte si, že vlastníci mají vždy právo upravovat objekt.
SYNCHRONIZOVAT – právo čekat na daný objekt (pokud je čekání pro objekt platným konceptem).
Nižších 16 bitů přístupové masky představují konkrétní práva. Význam těchto specifických práv je pro daný objekt jedinečný. Pro systémy souborů jsou primární zájmy konkrétními právy pro objekty souborů. U objektů souborů se specifická práva obvykle interpretují odlišně v závislosti na tom, jestli objekt souboru představuje soubor nebo adresář. U souborů je normální interpretace:
FILE_READ_DATA– právo číst data z daného souboru.
FILE_WRITE_DATA– právo zapisovat data do daného souboru (v existujícím rozsahu souboru).
FILE_APPEND_DATA– právo rozšířit daný soubor.
FILE_READ_EA– právo číst rozšířené atributy souboru.
FILE_WRITE_EA– právo upravit rozšířené atributy souboru.
FILE_EXECUTE– právo spustit daný soubor místně. Spuštění souboru uloženého ve vzdálené sdílené složce vyžaduje oprávnění ke čtení, protože soubor se načítá ze serveru, ale spouští se na klientovi.
FILE_READ_ATTRIBUTES– právo číst informace o atributu souboru.
FILE_WRITE_ATTRIBUTES– právo upravit informace o atributu souboru.
U adresářů se používají stejné bitové hodnoty, ale jejich interpretace se v některých z následujících případů liší:
FILE_LIST_DIRECTORY– právo vypsat obsah adresáře.
FILE_ADD_FILE– právo vytvořit nový soubor v adresáři.
FILE_ADD_SUBDIRECTORY– právo vytvořit v adresáři nový adresář (podadresář).
FILE_READ_EA– právo číst rozšířené atributy daného adresáře.
FILE_WRITE_EA– právo napsat rozšířené atributy daného adresáře.
FILE_TRAVERSE– právo přistupovat k objektům v adresáři. Přístupové právo FILE_TRAVERSE se liší od práva FILE_LIST_DIRECTORY. Držení přístupového práva FILE_LIST_DIRECTORY umožňuje entitě získat seznam obsahu adresáře, zatímco FILE_TRAVERSE přístupové právo dává entitě právo pro přístup k objektu. Volající bez přístupového práva FILE_LIST_DIRECTORY by mohl otevřít soubor, který už existoval, ale nemohl získat seznam obsahu adresáře.
FILE_DELETE_CHILD– právo odstranit soubor nebo adresář v aktuálním adresáři.
FILE_READ_ATTRIBUTES– právo číst informace o atributu adresáře.
FILE_WRITE_ATTRIBUTES– právo upravit informace o atributu adresáře.
V/V Manager definuje skutečné mapování obecných práv na standardní a specifická práva pro objekty souborů. Systém souborů může načíst toto mapování pomocí ioGetFileObjectGenericMapping. Správce vstupně-výstupních operací obvykle toto mapování provede během zpracování IRP_MJ_CREATE před voláním systému souborů. Ale systém souborů, který kontroluje zabezpečení konkrétních operací (například specializované operace FSCTL), může toto mapování provést sám.