Asignar permisos de lista de control de acceso (ACL) mediante programación a esta carpeta, subcarpetas y archivos
Tengo que asignar permiso en una carpeta y es la carpeta secundaria y los archivos mediante programación utilizando C # .NET. Estoy haciendo esto de la siguiente manera:
<code>var rootDic = @"C:\ROOT"; var identity = "NETWORK SERVICE"; //The name of a user account. try { var accessRule = new FileSystemAccessRule(identity, fileSystemRights: FileSystemRights.Modify, inheritanceFlags: InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, propagationFlags: PropagationFlags.InheritOnly, type: AccessControlType.Allow); var directoryInfo = new DirectoryInfo(rootDic); // Get a DirectorySecurity object that represents the current security settings. DirectorySecurity dSecurity = directoryInfo.GetAccessControl(); // Add the FileSystemAccessRule to the security settings. dSecurity.AddAccessRule(accessRule); // Set the new access settings. directoryInfo.SetAccessControl(dSecurity); } catch (Exception ex) { //... } </code>
Se asigna permiso en mi carpeta 'C: \ ROOT'. Pero asigna permiso a las Subcarpetas y Archivos solo, pero no a la carpeta 'ROOT'.
P: ¿Cómo puedo definir elFileSystemAccessRule
instancia para asignar permiso a la carpeta ROOT, subcarpetas y archivos?