我在我们的服务器上为每个客户端都有一个文件夹。在该文件夹内,有属于该客户端的每个项目的子文件夹。
我的问题是公司中的不同资源处理不同的项目,并且应该只能访问每个客户内部的项目。
现在,当新用户需要访问项目时,我必须进入客户端文件夹(这是共享的文件夹)并授予他们访问权限,然后进入特定的客户端文件夹并授予他们访问权限,然后进入文件夹并选择项目并授予他们访问权限。
有没有办法只选择项目文件夹授予他们访问权限,并有办法让链中的所有文件夹也授予访问权限,以便用户可以实际读取文件?
如果子文件夹的可见性不成问题,您可以考虑向父文件夹添加“Authenticatd Users / List Folder Contents / This folder only”之类的权限。此权限不会继承到子文件夹,并且基于访问的枚举不允许用户“查看”他们无权访问的子文件夹,但这将结束您对父文件夹应用权限的需要。
例子:
[ folder ] Clients
|
| -- [ folder ] Client A
|
| -- [ folder ] Client B
| |
... | -- [ folder ] Project A
|
| -- [ folder ] Project B
...
Run Code Online (Sandbox Code Playgroud)
假设在“管理员/完全控制”和“系统/完全控制”的根目录具有可继承的权限,添加权限“经过身份验证的用户/列出文件夹内容/仅此文件夹”(在“安全”的“高级”对话框中设置)文件夹属性的选项卡)到根目录。如果启用了基于访问的枚举,这将导致在列出根目录时用户已被授予访问权限的客户端文件夹可见。显然,您不必使用“经过身份验证的用户”。你可以做一些更有创意的事情。
假设您对每个独立的客户端文件夹执行相同的操作,经过身份验证的用户将能够枚举整个客户端列表,但只能枚举他们有权访问的每个客户端下的项目。
不过,假设您想严格限制文件夹的可见性。这是 Active Directory 组嵌套的绝佳应用程序。在下面的示例中,我将不使用域本地组。从技术上讲,Microsoft 的最佳做法是将全局组嵌套到应用权限的域本地组中。如果您打算保持单一域环境(并且不信任外部林),则不必遵循此做法。为便于解释,我将仅使用 glocal 安全组。
为每个将出现的角色的每个项目创建一个新的全局安全组:
如组名称所述,在每个项目文件夹中应用权限。“审阅者”组将获得“读取”权限,“贡献者”组将获得“修改”权限,
为每个客户端创建一个新的全局安全组:
将两个客户 B、项目 B ...组放入客户 B 项目参与者组的成员资格列表中。在指定客户的文件夹中,授予客户 B 项目参与者组“列出文件夹内容/仅此文件夹”权限。
为所有项目参与者创建一个新的全局安全组:
将客户 B 项目参与者和任何其他客户组放入所有客户项目参与者组的成员资格列表中。在根文件夹中,授予所有客户项目参与者组“列出文件夹内容/仅此文件夹”权限。
当用户加入项目时,将他们添加到他们加入的项目的相应组中。由于应用了组嵌套和权限,用户将自动有权枚举他们参与的项目的根文件夹和给定的客户端文件夹。
归档时间: |
|
查看次数: |
5148 次 |
最近记录: |