After looking at the security event logs on Server 2003, I noticed that the event is being logged with a failure check. The category is Object Access, and the following Accesses are required:
READ_CONTROL
SYNCHRONIZE
ReadData (or ListDirectory)
WriteData (or AddFile)
AppendData (or AddSubDirectory or CreatePipeInstance)
I can not find any documentation on how to program these properties. These failures are created using postgres and tomcat executables.
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); } }
source share