我试图让我的 C# 程序保护 Windows 机器上的本地现有目录。出于安全原因,我只希望管理员组中的帐户有权访问此文件夹。现有文件夹是我的程序之前创建的文件夹,将由当前运行的用户拥有,因此我需要为 admin 组添加权限,然后删除当前用户的权限。
我可以将管理员组的权限添加到文件夹中,但我不知道如何删除当前用户的权限。我给予管理员组权限如下:
DirectorySecurity directorySecurity = new DirectorySecurity();
IdentityReference adminId = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
FileSystemAccessRule adminAccess = new FileSystemAccessRule(
adminId,
FileSystemRights.FullControl,
InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow);
directorySecurity.AddAccessRule(adminAccess);
// set the owner and the group to admins
directorySecurity.SetOwner(adminId);
directorySecurity.SetGroup(adminId);
Directory.SetAccessControl("path-to-my-directory", directorySecurity);