Mi aplicación está creando un directorio para que pueda almacenar archivos de registro en él. Estoy agregando seguridad de usuario al directorio, pero no sé cómo hacer que se propague. Por ejemplo, agrego el usuario everyone
al directorio, con read
y write
, pero cuando mi aplicación crea un archivo de registro en este directorio, el archivo de registro no ha heredado la seguridad everyone
(lectura, escritura).Seguridad de directorio
¿Qué me estoy perdiendo?
DirectorySecurity dirSec = Directory.GetAccessControl(_dbPath);
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.Write, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.ReadAndExecute, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.CreateFiles, AccessControlType.Allow));
Directory.SetAccessControl(_dbPath, dirSec);
Tenga en cuenta que "Todos" no funcionará si el sistema no se está ejecutando en inglés, ya que este nombre está localizado en otros sistemas (por ejemplo, "Tout le monde" en un sistema operativo francés). Consulte http://stackoverflow.com/questions/5298905/add-everyone-privilege-to-folder-using-c-net para encontrar una solución a ese problema. –