File.SetAccessControl(String, FileSecurity) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Aplica entradas de lista de control de acceso (ACL) descritas por un FileSecurity objeto al archivo 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
Un archivo para agregar o quitar entradas de la lista de control de acceso (ACL).
- fileSecurity
- FileSecurity
Objeto FileSecurity que describe una entrada de ACL que se va a aplicar al archivo descrito por el path parámetro .
Excepciones
Error de E/S al abrir el archivo.
El path parámetro es null.
No se encontró el archivo.
El path parámetro especificó un archivo que es de solo lectura.
O bien
Esta operación no se admite en la plataforma actual.
O bien
El path parámetro especificó un directorio.
O bien
El autor de la llamada no tiene el permiso necesario.
El fileSecurity parámetro es null.
Comentarios
El SetAccessControl método aplica entradas de lista de control de acceso (ACL) a un archivo que representa la lista de ACL noherida.
Caution
La ACL especificada para el fileSecurity parámetro reemplaza la ACL existente para el archivo. Para agregar permisos para un nuevo usuario, use el GetAccessControl método para obtener la ACL existente, modificarla y, a continuación, usarla SetAccessControl para volver a aplicarla al archivo.
Una ACL describe individuos y grupos que tienen derechos, o no, a acciones específicas en el archivo especificado. Para obtener más información, vea Cómo: Agregar o quitar entradas de lista de control de acceso.
El SetAccessControl método conserva solo FileSecurity los objetos que se han modificado después de la creación del objeto. Si no se ha modificado un FileSecurity objeto, no se conservará en un archivo. Por lo tanto, no es posible recuperar un FileSecurity objeto de un archivo y volver a aplicar el mismo objeto a otro archivo.
Para copiar información de ACL de un archivo a otro:
Use el GetAccessControl método para recuperar el FileSecurity objeto del archivo de origen.
Cree un nuevo FileSecurity objeto para el archivo de destino.
Utilice el GetSecurityDescriptorBinaryForm método o GetSecurityDescriptorSddlForm del objeto de origen FileSecurity para recuperar la información de la ACL.
Use el SetSecurityDescriptorBinaryForm método o SetSecurityDescriptorSddlForm para copiar la información recuperada en el paso 3 al objeto de destino FileSecurity .
Establezca el objeto de destino FileSecurity en el archivo de destino mediante el SetAccessControl método .
En entornos NTFS, ReadAttributes y ReadExtendedAttributes se conceden al usuario si el usuario tiene ListDirectory derechos en la carpeta primaria. Para denegar ReadAttributes y ReadExtendedAttributes, denegar ListDirectory en el directorio primario.