Directory.SetAccessControl(String, DirectorySecurity) Yöntem

Tanım

Bir DirectorySecurity nesnesi tarafından açıklanan erişim denetimi listesi (ACL) girdilerini belirtilen dizine uygular.

public:
 static void SetAccessControl(System::String ^ path, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static void SetAccessControl (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member SetAccessControl : string * System.Security.AccessControl.DirectorySecurity -> unit
Public Shared Sub SetAccessControl (path As String, directorySecurity As DirectorySecurity)

Parametreler

path
String

Erişim denetimi listesi (ACL) girdilerinin ekleneceği veya kaldırılacağı dizin.

directorySecurity
DirectorySecurity

path parametresi tarafından açıklanan dizine uygulanacak bir ACL girdisini açıklayan DirectorySecurity nesnesi.

Özel durumlar

directorySecurity parametresi null.

Dizin bulunamadı.

path geçersizdi.

Geçerli işlemin pathtarafından belirtilen dizine erişimi yok.

-veya-

Geçerli işlemin ACL girdisini ayarlamak için yeterli ayrıcalığı yok.

Açıklamalar

SetAccessControl yöntemi, erişim denetimi listesi (ACL) girdilerini, doğası olmayan ACL listesini temsil eden bir dizine uygular.

Dikkat

directorySecurity parametresi için belirtilen ACL, dizinin mevcut ACL'sinin yerini alır. Yeni bir kullanıcının izinlerini eklemek için GetAccessControl yöntemini kullanarak mevcut ACL'yi alın ve değiştirin.

ACL, belirli bir dosya veya dizin üzerinde belirli eylemlere sahip olan veya olmayan kişileri ve grupları açıklar. Daha fazla bilgi için bkz. Nasıl yapılır: Erişim Denetimi Listesi Girdilerini Ekleme veya Kaldırma.

SetAccessControl yöntemi yalnızca nesne oluşturulduktan sonra değiştirilmiş DirectorySecurity nesneleri kalıcı hale getirin. bir DirectorySecurity nesnesi değiştirilmediyse, bir dosyada kalıcı olmaz. Bu nedenle, bir dosyadan DirectorySecurity nesnesi almak ve aynı nesneyi başka bir dosyaya yeniden uygulamak mümkün değildir.

ACL bilgilerini bir dosyadan diğerine kopyalamak için:

  1. DirectorySecurity nesnesini kaynak dosyadan almak için GetAccessControl yöntemini kullanın.

  2. Hedef dosya için yeni bir DirectorySecurity nesnesi oluşturun.

  3. ACL bilgilerini almak için kaynak DirectorySecurity nesnesinin GetSecurityDescriptorBinaryForm veya GetSecurityDescriptorSddlForm yöntemini kullanın.

  4. 3. adımda alınan bilgileri hedef DirectorySecurity nesnesine kopyalamak için SetSecurityDescriptorBinaryForm veya SetSecurityDescriptorSddlForm yöntemini kullanın.

  5. SetAccessControl yöntemini kullanarak hedef DirectorySecurity nesnesini hedef dosyaya ayarlayın.

NTFS ortamlarında, kullanıcının üst klasörde ListDirectory hakları varsa kullanıcıya ReadAttributes ve ReadExtendedAttributes verilir. ReadAttributes ve ReadExtendedAttributesreddetmek için üst dizindeki ListDirectory reddedin.

Şunlara uygulanır

Ayrıca bkz.