我在网络中的另一台PC上有一个共享文件夹(不需要凭据),我试图从我的应用程序中更改此文件夹的权限。
我使用的功能在本地文件夹上完全正常
DirectoryInfo myDirectoryInfo = new DirectoryInfo(@"\\Username-PC\shared\test");
//Directory.CreateDirectory(@"\\Username-PC\shared\test\newfolder");
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
string User = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User,
FileSystemRights.Delete, AccessControlType.Deny));
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User,
FileSystemRights.CreateDirectories, AccessControlType.Deny));
myDirectoryInfo.SetAccessControl(myDirectorySecurity);
Label3.Text = "Permissions changed!";
我可以访问共享文件夹(如果我尝试在其上创建目录,则目录已成功创建),,,,但权限未应用!
我在这里缺少什么?!!
答案 0 :(得分:0)
首先检查共享文件夹的SHARE权限(不是共享“starting”文件夹的NFTS权限!)
只有三种权限:读取,更改,完全控制。为了能够更改下面的NTFS文件夹权限,您用于访问该文件夹的共享需要完全控制您的帐户或您所属的组(或远程计算机上的管理员权限)
其次检查要更改的文件夹的NTFS权限:您还需要完全控制权限或“更改权限”权限才能添加或删除ACE(访问控制条目)。
OR
如果您是目录的所有者(您自己创建的话),则您具有隐式“P”权限,即使您在ACL中没有“更改权限”,也可以更改ACL。 (但你仍然需要完全控制SHARE)
我可以访问共享文件夹(如果我尝试在其上创建目录,则成功创建目录)
为此,只需拥有更改权限即可。