【发布时间】:2011-06-25 00:02:53
【问题描述】:
在 C# 中我执行了两个测试:
我在本地驱动器上创建了一个没有任何访问权限的目录。尝试以编程方式删除目录会引发 IOException。我本来预计会出现 UnauthorizedAccessException,但我确实收到了 IOException 并显示“访问被拒绝”的消息。
重复相同的测试,但这次在网络 UNC 路径上,我在可用的 UNC 共享上创建了一个目录,没有任何访问权限。当我以编程方式删除文件夹时,它会删除而没有任何错误或异常。这是相同的测试,相同的用户,并且用户(我自己)是目录的创建者,也是删除所有权限的用户。
在 Windows 资源管理器中手动测试时也会发生同样的情况。为什么在 UNC 网络共享上允许删除文件夹,而在本地驱动器上不允许删除?网络是一个工作组(不是域)。
尝试在网络共享的受限文件夹中添加子目录将引发异常并且不会成功。我不明白为什么在删除所有权限后允许删除。
【问题讨论】:
-
这可能也是您想在 SuperUser 上问的问题,因为它更像是一个 Windows 安全问题而不是编程问题。
标签: c# windows permissions