Hallo
An diesem Problem habe ich auch mal gehangen...
Ich habe da so eine lib gefunden mit der du das alles sehr vereinfachen kanst(Siehe Anhang)
Hier noch mal einen Auszug aus dem code den ich zum teil verwendet habe:
using Microsoft.Win32.Security;
<--cutt-->
SecuredObject sec = new SecuredObject(@"C:\dein Ordner", SecuredObjectType.FileObject);
WindowsUser CurrentUser = new WindowsUser(@"domain\\User");
sec.Owner = CurrentUser;
sec.Permissions.SetAccess( CurrentUser,
Microsoft.Win32.Security.AccessRights.FileRead
|| Microsoft.Win32.Security.AccessRights.FileWrite,
Microsoft.Win32.Security.AceInheritanceFlags.SuccessfulAccess);
Dieser Auszug bewirkt das der erstelle windowsuser Owner des Objektes und noch lese und schreibrechte auf den ordner/datei hat.
Hoffe das hat dir geholfen.
mfg