2009-11-25 27 views
0

我在C#.NET中创建了一个在NTFS文件系统上工作良好的文件夹锁,但是它不能在FAT文件系统上工作。请告诉我应该使用哪个DLL /类/命名空间通过C#.NET获取锁定的文件和文件夹的FAT文件系统上如何通过FAT中的C#.NET为文件和文件夹提供安全性文件系统

这与NTFS工作

示例代码(下面的代码是解开文件/文件夹)

FileInfo info = new FileInfo(folderpath); 
FileSecurity accessControl = info.GetAccessControl(AccessControlSections.All); 
accessControl.RemoveAccessRule(
    new FileSystemAccessRule(
     Environment.UserName.ToString(), 
     FileSystemRights.FullControl, 
     AccessControlType.Deny)); 

accessControl.SetSecurityDescriptorSddlForm(
    "D:(A;;GAGRGWGXRCSDWDWORPWPCCDCLCSWLODTCR;;;WD)", 
    AccessControlSections.All); 
info.SetAccessControl(accessControl); 

回答

2

你不能。 FAT文件系统不支持许多高级功能,例如访问控制列表。 (基本上,类似于FAT中的访问控制的唯一特征是“只读”文件属性位,它适用于每个用户)

+0

我已经看到了在Delphi中创建一个程序,它能够锁定文件夹及文件在FAT文件系统中找到。请给我从女巫的想法,我可以做到这一点(可能通过其他方式) – 2009-11-25 08:53:36

+0

“文件锁定”有**无关的访问控制; **而是它类似于文件系统上的互斥体(见http:// en。 wikipedia.org/wiki/File_locking)。由于这是在操作系统的VFS层中实现的,因此它适用于每个文件系统。 – intgr 2009-11-25 10:09:39

+0

你能告诉我如何访问C#.NET中的VFS层,并锁定FAT文件系统上的文件夹和文件 – 2009-11-26 03:07:16

0

FAT文件系统不支持安全性,因此您无法以您的方式设置ACL在你的问题中说明。

更多细节可以在Wikipedia

相关问题