好的人,我不认为这是可能的,但是:
有一个客户需要允许域用户读取目录中的文件。
赶上,他不希望他们浏览目录。
基本上,他们知道文件名和位置,所以他们可以直接打开它。 (假设他们将整个path\文件名粘贴到文件/打开对话框中。
有没有办法做到这一点?
此外,他们不应该能够看到目录结构,虽然这可能是好的。
我的感觉是将所有这些文件放在应用程序的前端,授予(web)应用程序的权限,并删除所有直接域用户对文件的访问权限。 利用应用安全。
其他方法build议,欢迎。 我没有完整的应用程序的细节,但由于它是基于文件的,所以我觉得需要编写一个前端来处理这个问题。 (请注意,我是一个应用程序的人,而不是pipe理员,我只在电视上播放pipe理员…..我知道足够的pipe理员是非常危险的,所以不必太简单)
这应该相当容易。 在共享上启用ABE(基于访问的枚举),并确保您在共享中的文件和文件夹上正确设置NTFS权限。
http://technet.microsoft.com/en-us/library/dd772681(WS.10).aspx
或者,绕过遍历检查用户权限授予Everyone组(默认情况下)能够对其没有NTFS权限的文件夹进行篡改,以便获取它们具有NTFS权限的文件。 这是做什么:
授予共享上的Everyone组更改和读取权限。
在共享中的文件夹和文件上设置适当的NTFS权限。
用户可以通过直接访问文件
\\servername\sharename\foldername\filename
只要您具有正确设置的共享和NTFS权限,用户将能够访问相应的文件,而无需浏览共享的内容。
你的设置的问题(假设我正确地把它理解为“将所有文件放在一个目录中”)是一个聪明的客户端可以猜测其他人的文件名,并获得他们的数据的访问权限,所以它们并不重要无法浏览,只能说他们可以通过名称来获取任何文件 ,这意味着其他客户端的文件。
换句话说,默默无闻并不意味着安全,只是它在视线之外,不在意。 有一点点想象力的人会出现在这里。
我会重新考虑方法,并可能将每个客户端隔离到只有他们有权限的子目录。 然后,只有通过向上分享客户端的特定目录级别,才能将客户端隔离到该位置,并且可以浏览他们想要的所有内容,因为没有其他任何东西可以看到。 当他们连接/login时,他们只能获得“他们的目录”的访问权限…没有关系,因为他们没有访问他们(没有正确的权限)有其他目录。
在Windows中共享一个特定的目录(不能更高)只需右键点击所需文件夹,点击“共享”和添加用户即可。
当他们想访问它时,他们将使用UNCpath\\ server.domain.local \ name_of_shared_folder
而已!*
*请确保DNS设置正确。 仔细检查防火墙。