File.SetAccessControl(String, FileSecurity) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Stosuje wpisy listy kontroli dostępu (ACL) opisane przez FileSecurity obiekt do określonego pliku.
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
Plik do dodawania lub usuwania wpisów listy kontroli dostępu (ACL).
- fileSecurity
- FileSecurity
FileSecurity Obiekt opisujący wpis listy ACL, który ma być stosowany do pliku opisanego path przez parametr .
Wyjątki
Wystąpił błąd we/wy podczas otwierania pliku.
Parametr path jest null.
Nie można odnaleźć pliku.
Parametr path określił plik, który jest tylko do odczytu.
— lub —
Ta operacja nie jest obsługiwana na bieżącej platformie.
— lub —
Parametr path określił katalog.
— lub —
Obiekt wywołujący nie ma wymaganych uprawnień.
Parametr fileSecurity jest null.
Uwagi
Metoda SetAccessControl stosuje wpisy listy kontroli dostępu (ACL) do pliku, który reprezentuje nienastawioną listę listy ACL.
Caution
Lista ACL określona dla parametru fileSecurity zastępuje istniejącą listę ACL pliku. Aby dodać uprawnienia dla nowego użytkownika, użyj GetAccessControl metody w celu uzyskania istniejącej listy ACL, zmodyfikuj ją, a następnie użyj polecenia SetAccessControl , aby zastosować go z powrotem do pliku.
Lista ACL opisuje osoby i grupy, które mają lub nie mają praw do określonych akcji w danym pliku. Aby uzyskać więcej informacji, zobacz How to: Add or Remove Access Control List Entries (Instrukcje: dodawanie lub usuwanie wpisów listy kontroli dostępu).
Metoda SetAccessControl utrwala tylko FileSecurity obiekty, które zostały zmodyfikowane po utworzeniu obiektu. FileSecurity Jeśli obiekt nie został zmodyfikowany, nie będzie on utrwalany w pliku. W związku z tym nie można pobrać FileSecurity obiektu z jednego pliku i ponownie zastosować ten sam obiekt do innego pliku.
Aby skopiować informacje listy ACL z jednego pliku do innego:
GetAccessControl Użyj metody , aby pobrać FileSecurity obiekt z pliku źródłowego.
Utwórz nowy FileSecurity obiekt dla pliku docelowego.
GetSecurityDescriptorBinaryForm Użyj metody lub GetSecurityDescriptorSddlForm obiektu źródłowegoFileSecurity, aby pobrać informacje listy ACL.
SetSecurityDescriptorBinaryForm Użyj metody orSetSecurityDescriptorSddlForm, aby skopiować informacje pobrane w kroku 3 do obiektu docelowegoFileSecurity.
Ustaw obiekt docelowy na plik docelowy FileSecuritySetAccessControl przy użyciu metody .
W środowiskach NTFS i ReadAttributes są przyznawane użytkownikowi, ReadExtendedAttributes jeśli użytkownik ma ListDirectory prawa do folderu nadrzędnego. Aby odmówić i ReadAttributes, odmów ReadExtendedAttributesListDirectory w katalogu nadrzędnym.