我有一个外部 NAS,遗憾的是它本身没有与活动目录集成,但我需要在那里存储某些文件以用于备份,并能够根据登录的用户访问它们。
最好的方法是什么?是否可以使用提供的凭据设置指向外部源的符号链接?
我的想法是在域服务器上有一个共享文件夹,然后创建指向 NAS 文件夹的符号链接,根据用户仅显示某些文件夹。
例如,用户是帐户的成员,他们会看到公共文件夹和帐户文件夹,另一个用户是支持的成员,他们会看到公共文件夹和支持文件夹。
有什么建议么?
答案1
我的想法是在域服务器上有一个共享文件夹,然后创建指向 NAS 文件夹的符号链接,根据用户仅显示某些文件夹。
这在 Windows 服务器上不起作用,几乎所有 Microsoft 服务都进行模拟(即它们将客户端提供的身份验证声明传递到目标)。不过,您可能能够使用 Samba 主机运行该功能 - 您可以在那里设置 AD 集成,并仅使用单个代理帐户访问 NAS。请记住,您正在添加另一个故障点,但您可能希望首先探索所有其他选项。
是否可以使用提供的凭据设置到外部源的符号链接?
不。您可以尝试使用/SAVECRED
带有每个潜在 NAS 用户首字母的参数net use
,但这样做的缺点是需要过多的手动工作(您需要手动将用户名和密码输入到安全对话框中,没有办法编写脚本)。此外,客户端似乎偶尔会“忘记”保存的身份验证信息,这使得它对于大多数需要可靠访问的用例来说几乎毫无用处。
有什么建议么?
Windows 客户端默认会尝试对服务器进行 NTLMv2 身份验证。这意味着它们会发送用户名和通过密码哈希值进行处理的质询响应。如果您在 NAS 上创建用户名与 AD 用户名对应的用户,并将密码设置为相应用户的密码,则您应该能够访问 NAS,而不会看到任何身份验证请求对话框。
当然,如果您的用户列表或密码快速变化,这将是一场管理噩梦,而且您还需要知道用户的密码,但这并不总是可行的。而且,如果您有大量用户并且无法在 NAS 上编写用户创建脚本,则可能需要大量手动工作。
另一种方法可能是在 NAS 上创建几个具有已知密码的用户,并net use \\NAS\share /user:nasuser /password:<secret>
在登录脚本中使用需要访问 NAS 资源的域用户的调用。请注意,由于您的域用户通常对登录脚本具有读取权限,因此使用此方法会以纯文本形式向他们公开 NAS 密码。