允许查看文件是否存在,但不读取任何数据

允许查看文件是否存在,但不读取任何数据

是否可以设置文件夹权限,以便您(在本例中为.net应用程序)可以查看文件是否存在 - 但不能读取任何数据。

我希望能够设置权限,因此:

  1. 用户可以判断文件是否存在
  2. 用户可以写入该文件夹。
  3. 没有其他权限(不能读取/删除等)。

-谢谢亚历克斯。

答案1

假设您正在谈论 Windows......

我认为,实现此目的的逻辑直接的最佳方法是设置文件夹的权限(并且您必须使用文件夹属性中“安全”选项卡中的“高级”按钮)以允许遍历文件夹/执行文件、允许创建文件/写入数据,并允许创建文件夹/附加数据。

不幸的是,列出文件夹/读取数据是单一权限,因此您无法在 Windows 的权限级别上将其拆分。用户将能够写入和附加文件和文件夹,但不能列出文件夹或读取文件(或删除它们)。

但是,一个好的解决方法是,不要设计应用程序来测试文件是否存在,而是测试文件夹是否存在,并将每个要保护的文件放在自己的文件夹中。如果您从主文件夹内的文件夹中删除列出文件夹/读取数据权限,则可以拒绝您的应用程序打开这些子文件夹中的文件的权限,但允许它们查看子文件夹的存在。

答案2

取决于 Windows 的版本...仅查看 Win7,“列出文件夹内容”是基本权限页面上的独立项目。其他项目包括完全控制、修改、读取和执行、读取、写入和特殊权限。

刚刚检查过:XP Pro 有相同的选项。

因此,设置删除除“写入”和“列出文件夹内容”之外的所有权限应该可以实现您想要的效果(如果您需要更新现有文件,您可能还需要“修改”)。

答案3

我可以在 Windows Server 2003 中执行此操作,但在 Windows 2008 中,使用完全相同的文件权限却无法正常工作。我不明白为什么。以下是我在 Server 2003 中的设置,它执行了您所描述的操作。我将其与 FTP 一起使用,以便用户无法读取和写入同一目录。我这样做是因为色情人员曾经发现我的 FTP,我突然变成了色情服务器。即使有人在机器上登录,这也可以防止这种使用。

目录结构 发布 传入 多个文件夹 多个文件 传出 多个文件夹 多个文件

打开传入属性并选择用户,在我的情况下是我的 FTP 用户帐户复选框列出文件夹内容,写入
单击高级。取消选中允许可继承权限框并让其添加当前设置。对于 FTP 用户帐户,编辑设置并清除除拒绝删除子文件夹和文件和拒绝删除之外的所有标志。(在权限列表上方选择应用到此文件夹和子文件夹)单击确定现在添加用户并添加这个相同的用户。这次复选框遍历文件夹/执行文件、列出文件夹/读取文件、读取属性、读取扩展属性、读取权限。单击确定现在添加用户并再次添加这个相同的用户。这次复选框创建文件/写入数据、创建文件/附加数据、写入属性/写入扩展属性。单击确定。

现在只需单击“确定”即可退出该框。

正如我所说,它在我的 Windows 2003 Server 上完美运行。它在我的 Windows 2000 Server 上完美运行。我无法让它在我的 Windows 2008 R2 Server 上运行。

相关内容