File.SetAccessControl(String, FileSecurity) Metoda

Definice

Použije položky seznamu řízení přístupu (ACL) popsané objektem FileSecurity 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.

Caution

Seznam ACL zadaný pro fileSecurity parametr 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 jeho následné použití SetAccessControl 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. FileSecurity Pokud objekt nebyl změněn, nebude zachován v souboru. Proto není možné načíst FileSecurity objekt z jednoho souboru a znovu použít stejný objekt na jiný soubor.

Kopírování informací seznamu ACL z jednoho souboru do druhého:

  1. Použijte metodu GetAccessControl k načtení objektu FileSecurity ze zdrojového souboru.

  2. Vytvořte nový FileSecurity objekt pro cílový soubor.

  3. GetSecurityDescriptorBinaryForm K načtení informací seznamu ACL použijte metodu nebo GetSecurityDescriptorSddlForm metodu zdrojového FileSecurity objektu.

  4. SetSecurityDescriptorBinaryForm Pomocí nebo SetSecurityDescriptorSddlForm metody zkopírujte informace načtené v kroku 3 do cílového FileSecurity objektu.

  5. Pomocí metody nastavte cílový FileSecurity objekt na cílový soubor SetAccessControl .

V prostředích NTFS a ReadAttributes uživateli se udělí, ReadExtendedAttributes pokud má ListDirectory uživatel oprávnění k nadřazené složce. Pokud chcete odepřít ReadAttributes nadřazený adresář a ReadExtendedAttributesodepřít ho, zamítáte ListDirectory ho.

Platí pro

Viz také