5
我試圖在特定用戶的UNC路徑上授予NTFS權限,但根據UNC路徑看到了不同的行爲。下面是代碼(從MSDN),我現在用的授予權限,結果在每個場景中,授予NTFS權限時丟失了繼承權限
static void GiveNTFSPermissions(string folderPath,
string ntAccountName,
FileSystemRights accessRights)
{
DirectorySecurity dirSecurity = Directory.GetAccessControl(folderPath);
FileSystemAccessRule newAccessRule =
new FileSystemAccessRule(
ntAccountName,
accessRights,
AccessControlType.Allow);
dirSecurity.AddAccessRule(newAccessRule);
Directory.SetAccessControl(folderPath, dirSecurity);
}
假設我有一個名爲「RootShare」我的本地機器上的份額,而另一個文件夾「InsideRootShare「裏面。
Scenario1: 當我打電話,
GiveNTFSPermissions(@"\\sri-devpc\RootShare",
@"domain\username",
FileSystemRights.Write);
繼承的權限丟失的共享路徑上,
Scenario2: 當我打電話,
GiveNTFSPermissions(@"\\sri-devpc\RootShare\InsideRootShare",
@"domain\username",
FileSystemRights.Write);
繼承權限完好無損。
我嘗試過不同的構造函數FileSystemAccessRule
,但沒有運氣。
這種行爲背後的原因是什麼,以及對此的任何解決方法?
您是否嘗試過使用'InheritanceFlags'作爲參數的[構造函數](http://msdn.microsoft.com/zh-cn/library/system.security.accesscontrol.filesystemaccessrule.aspx)?另外,'AddNTFSPermission'比'GiveNTFSPermissions'更合理,因爲它試圖將新的訪問規則添加到現有的訪問規則中。 – Nawaz
看到這個主題:http://stackoverflow.com/questions/243995/setting-folder-permissions-on-vista – Nawaz
@Nawaz:我試過所有的構造函數,並且我得到了相同的結果。感謝您的建議:) – sri