按一天中的时间限制文件服务器 (CIFS) 的访问

按一天中的时间限制文件服务器 (CIFS) 的访问

我如何能(按优先顺序,降序排列):

  1. 禁用用户或组对特定共享的文件服务器访问根据一天中的时间
  2. 根据一天中的时间完全禁用用户或组的文件服务器访问
  3. 根据一天中的时间完全禁用文件服务器访问(服务器范围)。这与远程桌面/RDP 访问完全无关。

例如,Bob 在 WorkHours 组中。共享“Documents”授予 WorkHours 组中的用户访问权限。如何自动拒绝每天晚上 7 点到午夜对共享“Documents”中所有文件的访问?

答案1

就其本身而言,没有内置功能可以实现您所说的内容。您所寻求的是一个足够合理的愿望,但 Microsoft 并未将其实现为具有您所寻求的粒度的功能。

“登录时间”功能(位于“Active Directory 用户和计算机”中用户帐户属性的“帐户”选项卡上)将为您提供所需的内容,但它通过拒绝对域进行身份验证的权利来工作,因此,它没有您想要的粒度。

您可以尝试使用脚本动态更改组成员身份,但我怀疑除了创建大量 Active Directory 复制流量外,您不会取得任何成就。我怀疑您会发现,考虑到令牌缓存,您可以在特定时间可靠地拒绝和恢复访问。

编辑:

我看到其他一些答案谈论的是更改文件权限,而不是尝试更改组成员身份。我还预计,如果在更改权限时有打开的文件,您也会从该方法中看到令人失望的结果。(我也不敢想象这会给脱机文件带来什么样的麻烦。)

答案2

您可能会考虑安排 Windows 任务以在所需时间删除并重新创建文件共享。根据共享数量以及您想要控制其访问权限的用户或组数量,这可能可行也可能不可行。如果在删除共享时文件正在发生变化,则从打开文件的连接中移除共享会面临文件损坏的风险。

答案3

Windows 中没有内置功能可以执行此操作,但计划脚本可以更改共享或 NTFS 权限,从而允许或拒绝特定用户/组的访问。请查看caclsicacls

答案4

到底怎么回事?我现在就把这个作为答案提出来,而不必等待。

如果是 Linux(Samba)...

在 smb.conf 中为该管理​​组创建一个虚拟服务器。将其分配给辅助接口(或子接口)。使用 iptables 管理该接口。

iptables -A INPUT -i eth0.1 -p tcp --dport 445 -m time --timestart 08:00 --timestop 17:00 --days Mon,Fri -j ACCEPT

相关内容