File.SetAccessControl(String, FileSecurity) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Aplica entradas da lista de controlo de acesso (ACL) descritas por um FileSecurity objeto ao ficheiro 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 ficheiro para adicionar ou remover entradas da lista de controlo de acesso (ACL).
- fileSecurity
- FileSecurity
Um FileSecurity objeto que descreve uma entrada ACL para aplicar ao ficheiro descrito pelo path parâmetro.
Exceções
Ocorreu um erro de E/S durante a abertura do ficheiro.
O path parâmetro é null.
O ficheiro não foi encontrado.
O path parâmetro especificava um ficheiro que era apenas leitura.
-ou-
Esta operação não é suportada na plataforma atual.
-ou-
O path parâmetro especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
O fileSecurity parâmetro é null.
Observações
O SetAccessControl método aplica entradas da lista de controlo de acesso (ACL) a um ficheiro que representa a lista ACL não herdada.
Atenção
A ACL especificada para o fileSecurity parâmetro substitui a ACL existente do ficheiro. Para adicionar permissões a um novo utilizador, use o GetAccessControl método para obter a ACL existente, modifique-a e depois use SetAccessControl para a aplicar novamente ao ficheiro.
Uma ACL descreve indivíduos e grupos que têm, ou não têm, direitos sobre ações específicas no determinado ficheiro. Para obter mais informações, consulte Como adicionar ou remover entradas da lista de controle de acesso.
O SetAccessControl método persiste apenas FileSecurity objetos que foram modificados após a criação do objeto. Se um FileSecurity objeto não tiver sido modificado, não será persistido para um ficheiro. Portanto, não é possível recuperar um FileSecurity objeto de um ficheiro e reaplicar o mesmo objeto a outro ficheiro.
Para copiar informação ACL de um ficheiro para outro:
Use o GetAccessControl método para recuperar o FileSecurity objeto do ficheiro de origem.
Crie um novo FileSecurity objeto para o ficheiro de destino.
Use o GetSecurityDescriptorBinaryForm método ou GetSecurityDescriptorSddlForm do objeto fonte FileSecurity para recuperar a informação ACL.
Use o SetSecurityDescriptorBinaryForm método ou SetSecurityDescriptorSddlForm para copiar a informação recuperada no passo 3 para o objeto de destino FileSecurity .
Defina o objeto de destino FileSecurity para o ficheiro de destino usando o SetAccessControl método.
Em ambientes NTFS, ReadAttributes e ReadExtendedAttributes são concedidos ao utilizador se este tiver ListDirectory direitos sobre a pasta pai. Para negar ReadAttributes e ReadExtendedAttributes, negar ListDirectory no diretório principal.