什么是最有效的方式来授予用户只准许文件服务器上的所有文件夹和文件?

我们目前运行大约四台文件服务器,全部运行Windows Server 2008 R2。

直到现在,我们已经使用Windows内部文件search(又名“索引选项”),这工作正常,发现所有文件没有问题。 现在推出了一个新的通用search,这意味着所有的文件服务器将由爬虫使用用户DaCrawler进行远程扫描。 文件服务器上不会安装本地爬虫程序。

抓取工具将给定的用户连接到我们的文件服务器,并且需要对我们创build的共享的所有文件和文件夹进行只读访问。 但是,在我们的主服务器上有大约35万个带有2.7M文件的文件夹,并且有很多自定义的DACL。 尤其是,没有适用于所有文件夹或文件的根DACL。

到目前为止唯一的想法是通过使用SetACL为DaCrawler提供只读访问,并将其添加到每个可能存在的每个DACL(我忽略ICACLS,因为我认为SetACL更易于使用)。

首先,我将所有文件夹的DACL设置为包含DaCrawler的READ_EX权限

SetACL -on C:\Test -ot file -actn ace -ace "n:ACME\DaCrawler;p:read_ex;i:so,sc;m:grant" -rec cont 

这工作正常,并没有明确的权限创build,如果他们不是必要的:

文件夹权限屏幕截图

如果存在具有显式权限的文件,则其DACL不会更改,因此我重复该命令,这次仅用于文件:

 SetACL -on C:\Test -ot file -actn ace -ace "n:ACME\DaCrawler;p:read_ex;i:so,sc;m:grant" -rec obj 

但是,这会导致SetACL为每个文件创build显式权限 ,即使文件之前没有明确权限,文件夹权限也足够了:

权限的屏幕截图

这意味着,我可以决定仅将更改应用于可能会使某些文件无法访问搜寻器的文件夹,或者创build2,7M个显式权限。

有没有更好的方法来做到这一点? 我的方法是改变DACL错误,还有更有效的方法吗?

你设置明确的权限的解决scheme将工作 – 大约一个星期,直到有人用明确的权限创build一个新的文件。

您是否考虑过将您的搜寻器帐户添加到域备份运营商组? 这应该让它读取访问域文件服务器上的任何文件。