2009-11-25 50 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

相關問題