Après avoir consulté mes journaux d'événements de sécurité sur Server 2003, j'ai remarqué qu'un événement était consigné avec un audit d'échec. La catégorie est l'accès aux objets, avec les éléments suivants Accède étant nécessaire:Modifier les propriétés d'accès aux objets via C#
READ_CONTROL
SYNCHRONIZE
ReadData (ou listDirectory)
WriteData (ou AddFile)
AppendData (ou AddSubDirectory ou CreatePipeInstance)
Je n'arrive pas à trouver de documentation sur la façon de modifier ces propriétés de manière proggramatique. Ces échecs sont générés par les exécutables postgres et tomcat.
EDIT
protected FileSystemRights[] AppendFileSystemRights()
{
return new FileSystemRights[]
{
FileSystemRights.ReadAndExecute,
FileSystemRights.WriteAttributes,
FileSystemRights.Synchronize,
FileSystemRights.ReadAttributes,
FileSystemRights.ReadData
};
}
public void ApplySystemRight(string fileName, FileSystemRights[] rights)
{
if (string.IsNullOrEmpty(fileName))
{
return;
}
if (rights == null || rights.Length <= 0)
{
return;
}
try
{
Console.WriteLine("ATTEMPTING TO OPEN THE FOLLOWING FILE: {0}", fileName);
fileSec = File.GetAccessControl(fileName);
for (int i = 0; i < rights.Length; i++)
{
Console.WriteLine("ATTEMPTING TO ADD THE FOLLOWING ACCESS RULE: {0} TO {1}", rights[i], fileName);
fileSec.AddAccessRule(new FileSystemAccessRule(user,
rights[i], AccessControlType.Allow));
}
Console.WriteLine("ATTEMPTING TO SET THE PRECEDING ACCESS RULES: TO {0}", fileName);
File.SetAccessControl(fileName, fileSec);
}
catch (UnauthorizedAccessException uae)
{
Console.WriteLine("CAUGHT THE FOLLOWING EXCEPTION: {0} \n WHILE PROCESSING: {1}", uae.Message, fileName);
}
catch (ArgumentNullException ane)
{
Console.WriteLine("CAUGHT THE FOLLOWING EXCEPTION: {0} \n WHILE PROCESSING: {1}", ane.Message, fileName);
}
catch (ArgumentException ae)
{
Console.WriteLine("CAUGHT THE FOLLOWING EXCEPTION: {0} \n WHILE PROCESSING: {1}", ae.Message, fileName);
}
}
Avez-vous des informations sur l'objet sur lequel l'accès est refusé? –
Ronald Tomcat6.exe et psql.exe – Woot4Moo
Mais je ne suppose pas que ce sont les fichiers qui ne sont pas accessibles? Ce sont probablement les processus qui ne peuvent pas accéder à un certain fichier (ou fichiers). Vous devez savoir quels fichiers ne peuvent pas être accédés par tomcat6.exe ou psql.exe. –