更改共享文件夹权限

时间:2015-02-09 08:50:23

标签: c#

我在网络中的另一台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!";

我可以访问共享文件夹(如果我尝试在其上创建目录,则目录已成功创建),,,,但权限未应用!

我在这里缺少什么?!!

1 个答案:

答案 0 :(得分:0)

首先检查共享文件夹的SHARE权限(不是共享“starting”文件夹的NFTS权限!)

只有三种权限:读取,更改,完全控制。为了能够更改下面的NTFS文件夹权限,您用于访问该文件夹的共享需要完全控制您的帐户或您所属的组(或远程计算机上的管理员权限)

其次检查要更改的文件夹的NTFS权限:您还需要完全控制权限或“更改权限”权限才能添加或删除ACE(访问控制条目)。

OR

如果您是目录的所有者(您自己创建的话),则您具有隐式“P”权限,即使您在ACL中没有“更改权限”,也可以更改ACL。 (但你仍然需要完全控制SHARE)

  
    

我可以访问共享文件夹(如果我尝试在其上创建目录,则成功创建目录)

  

为此,只需拥有更改权限即可。