File.SetAccessControl(String, FileSecurity) 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 FileSecurity objeto ao arquivo especificado.
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)
Parâmetros
- path
- String
Um arquivo do qual adicionar ou remover entradas de ACL (lista de controle de acesso).
- fileSecurity
- FileSecurity
Um FileSecurity objeto que descreve uma entrada ACL a ser aplicada ao arquivo descrito pelo path parâmetro.
Exceções
Ocorreu um erro de E/S ao abrir o arquivo.
O path parâmetro é null.
Não foi possível encontrar o arquivo.
O path parâmetro especificou um arquivo que é somente leitura.
-ou-
Não há suporte para essa operação na plataforma atual.
-ou-
O path parâmetro especificou um diretório.
-ou-
O chamador não tem a permissão necessária.
O fileSecurity parâmetro é null.
Comentários
O SetAccessControl método aplica entradas de ACL (lista de controle de acesso) a um arquivo que representa a lista de ACL não herdada.
Caution
A ACL especificada para o fileSecurity parâmetro substitui a ACL existente para o arquivo. Para adicionar permissões para um novo usuário, use o GetAccessControl método para obter a ACL existente, modificá-la e, em seguida, usá-la SetAccessControl para aplicá-la de volta ao arquivo.
Uma ACL descreve indivíduos e grupos que têm ou não direitos a ações específicas no arquivo especificado. Para obter mais informações, consulte Como adicionar ou remover entradas da lista de controle de acesso.
O SetAccessControl método persiste apenas FileSecurity os objetos que foram modificados após a criação do objeto. Se um FileSecurity objeto não tiver sido modificado, ele não será mantido em um arquivo. Portanto, não é possível recuperar um objeto de um FileSecurity 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 FileSecurity objeto do arquivo de origem.
Crie um novo FileSecurity objeto para o arquivo de destino.
Use o método ou GetSecurityDescriptorSddlForm o GetSecurityDescriptorBinaryForm objeto de origem FileSecurity 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 FileSecurity .
Defina o objeto de destino FileSecurity 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.