Directory.SetAccessControl(String, DirectorySecurity) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Aplica entradas acl (lista de controle de acesso) descritas por um DirectorySecurity objeto ao diretório especificado.
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)
Parâmetros
- path
- String
Um diretório do qual adicionar ou remover entradas de ACL (lista de controle de acesso).
- directorySecurity
- DirectorySecurity
Um DirectorySecurity objeto que descreve uma entrada acl a ser aplicada ao diretório descrito pelo path parâmetro.
Exceções
O directorySecurity parâmetro é null.
Não foi possível encontrar o diretório.
O path era inválido.
O processo atual não tem acesso ao diretório especificado por path.
-ou-
O processo atual não tem privilégio suficiente para definir a entrada acl.
Comentários
O SetAccessControl método aplica entradas acl (lista de controle de acesso) a um diretório que representa a lista de ACL não herdada.
Caution
A ACL especificada para o directorySecurity parâmetro substitui a ACL existente para o diretório. Para adicionar permissões para um novo usuário, use o GetAccessControl método para obter a ACL existente e modificá-la.
Uma ACL descreve indivíduos e grupos que têm, ou não têm, direitos a ações específicas no arquivo ou diretório especificado. Para obter mais informações, consulte Como adicionar ou remover entradas da lista de controle de acesso.
O SetAccessControl método persiste apenas DirectorySecurity os objetos que foram modificados após a criação do objeto. Se um DirectorySecurity objeto não tiver sido modificado, ele não será mantido em um arquivo. Portanto, não é possível recuperar um objeto de um DirectorySecurity arquivo e reaplicar o mesmo objeto para outro arquivo.
Para copiar informações de ACL de um arquivo para outro:
Use o GetAccessControl método para recuperar o DirectorySecurity objeto do arquivo de origem.
Crie um novo DirectorySecurity objeto para o arquivo de destino.
Use o método ou GetSecurityDescriptorSddlForm o GetSecurityDescriptorBinaryForm objeto de origem DirectorySecurity para recuperar as informações de ACL.
Use o SetSecurityDescriptorBinaryForm método ou SetSecurityDescriptorSddlForm o método para copiar as informações recuperadas na etapa 3 para o objeto de destino DirectorySecurity .
Defina o objeto de destino DirectorySecurity para o arquivo de destino usando o SetAccessControl método.
Em ambientes NTFS, ReadAttributes e ReadExtendedAttributes são concedidos ao usuário se o usuário tiver ListDirectory direitos na pasta pai. Para negar ReadAttributes e ReadExtendedAttributesnegar ListDirectory no diretório pai.