File.SetAccessControl(String, FileSecurity) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Použije položky seznamu řízení přístupu (ACL) popsané FileSecurity objektu do zadaného souboru.
public:
static void SetAccessControl(System::String ^ path, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static void SetAccessControl (string path, System.Security.AccessControl.FileSecurity fileSecurity);
static member SetAccessControl : string * System.Security.AccessControl.FileSecurity -> unit
Public Shared Sub SetAccessControl (path As String, fileSecurity As FileSecurity)
Parametry
- path
- String
Soubor pro přidání nebo odebrání položek seznamu řízení přístupu (ACL)
- fileSecurity
- FileSecurity
Objekt FileSecurity, který popisuje položku seznamu ACL, která se má použít u souboru popsaného parametrem path
.
Výjimky
Při otevírání souboru došlo k vstupně-výstupní chybě.
Parametr path
je null
.
Soubor nebyl nalezen.
Parametr path
zadal soubor, který je jen pro čtení.
-nebo-
Tato operace není na aktuální platformě podporovaná.
-nebo-
Parametr path
zadal adresář.
-nebo-
Volající nemá požadované oprávnění.
Parametr fileSecurity
je null
.
Poznámky
Metoda SetAccessControl použije položky seznamu řízení přístupu (ACL) na soubor, který představuje nezahrnutou seznam ACL.
Opatrnost
Seznam ACL zadaný pro parametr fileSecurity
nahradí existující seznam ACL souboru. Pokud chcete přidat oprávnění pro nového uživatele, použijte metodu GetAccessControl k získání existujícího seznamu ACL, úpravě a následnému použití SetAccessControl ho použít zpět na soubor.
Seznam ACL popisuje jednotlivce a skupiny, které mají nebo nemají práva ke konkrétním akcím daného souboru. Další informace naleznete v tématu Postupy: Přidání nebo odebrání položek seznamu řízení přístupu.
Metoda SetAccessControl zachovává pouze FileSecurity objekty, které byly změněny po vytvoření objektu. Pokud objekt FileSecurity nebyl změněn, nebude zachován v souboru. Proto není možné načíst objekt FileSecurity z jednoho souboru a znovu použít stejný objekt na jiný soubor.
Kopírování informací seznamu ACL z jednoho souboru do druhého:
Pomocí metody GetAccessControl načtěte objekt FileSecurity ze zdrojového souboru.
Vytvořte nový objekt FileSecurity pro cílový soubor.
K načtení informací seznamu ACL použijte metodu GetSecurityDescriptorBinaryForm nebo GetSecurityDescriptorSddlForm objektu zdrojového FileSecurity.
Pomocí metody SetSecurityDescriptorBinaryForm nebo SetSecurityDescriptorSddlForm zkopírujte informace získané v kroku 3 do cílového objektu FileSecurity.
Pomocí metody SetAccessControl nastavte cílový FileSecurity objekt na cílový soubor.
V prostředích NTFS se uživateli udělí ReadAttributes a ReadExtendedAttributes, pokud má uživatel ListDirectory práva k nadřazené složce. Pokud chcete odepřít ReadAttributes a ReadExtendedAttributes, odepřete ListDirectory v nadřazené adresáři.