2013-03-01 59 views
0

我使用此代码来拒绝文件的权限。它完美地运作。阻止其他c#程序重置文件的权限

string fileName = @"c:\untitled.jpg"; 
FileSecurity fSecurity = File.GetAccessControl(fileName); 
fSecurity.AddAccessRule(new FileSystemAccessRule("Everyone",  
         FileSystemRights.FullControl, AccessControlType.Deny)); 
File.SetAccessControl(fileName, fSecurity); 

和下面的代码段,当我设置权限到文件以复位访问控制

fSecurity.ResetAccessRule(new FileSystemAccessRule("Everyone", 
        FileSystemRights.FullControl, AccessControlType.Allow)); 

查阅。我不希望其他人重置文件的权限,但是当我打开一个新项目并复制代码以将重置规则重置到文件时,它已将权限重置为该文件。我不希望发生这种情况。

我只想让我的c#代码重置文件的权限,因为知道c#编程的人可以轻松地将权限重置为已被我的c#代码拒绝的文件。

我可以通过我的C#代码阻止其他人重置权限文件吗?文件权限只能通过我的c#代码重置。请帮助我。由于

+1

他们不需要C#程序来执行此操作;如果他们有适当的权限,他们可以直接从资源管理器或命令行执行。你完全在吠叫错误的树。 – 2013-03-01 04:13:23

+0

文件权限适用于**用户**,不适用于程序。无法阻止管理员。 – SLaks 2013-03-01 04:18:25

回答

2

任何人都可以写你写更新的权限,所以你不能做到这一点通过代码(除非你的程序将永久运行,你锁定文件)

相同的代码你最好通过Windows NTFS权限进行管理,以便其他应用程序的用户无权更改权限(因此,他们也不会运行该应用程序)

相关问题