using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;
namespace SetFileAcl
{
class Program
{
static void Main(string[] args)
{
string fileName = "c:\\testFile.txt";
using (FileStream fStream = File.Create(fileName))
{
StreamWriter writer = new StreamWriter(fStream);
writer.WriteLine("This is a test file.");
writer.Close();
}
FileInfo fInfo = new FileInfo(fileName);
FileSecurity fileAcl = fInfo.GetAccessControl();
NTAccount acc = (NTAccount)fileAcl.GetOwner(typeof(NTAccount));
Console.WriteLine("File owner:" + acc.Value);
FileSystemAccessRule rule = new FileSystemAccessRule(@"BuiltIn\Users", FileSystemRights.FullControl, AccessControlType.Allow);
fileAcl.RemoveAccessRuleAll(rule);
fileAcl.SetAccessRule(rule);
fInfo.SetAccessControl(fileAcl);
}
}
}