我有一台 Windows 文件服务器,我想在其上创建 NFS 共享。这些共享需要能够通过 Samba/Winbind Active Directory 身份验证供 Windows 7 域客户端和 Linux 客户端(Red Hat 5 和 6)访问。
据我了解,Windows 能够使用未映射和映射的身份管理,这意味着您的 AD 用户可以映射到 Unix ID。因此,当您创建使用映射身份的共享时,权限(我相信)是 NTFS 权限,但服务器会查找传入的 Linux 用户 ID 并计算是否应将该 UID 映射到具有权限的用户。为此,我在 Active Directory 服务器上安装了 Unix 身份管理组件。然后,我访问了我的每个用户并修改了 unix 属性,以便 UID 和 GID 显示在我的 Linux 客户端上(使用 rid uid)。
这是我的问题。如果我使用映射身份创建 NFS 共享,我可以在 Windows 上正常访问文件/文件夹,但在 Linux 上却不行。文件所有者显示为数字,例如 425067890,而不是相应所有者的用户名。我知道用户在 AD 中正确设置了正确的 UID,但它与此数字不匹配。如果我使用未映射的身份创建共享,所有者在 Linux 上显示为正确的用户 (johndoe),但我的 Windows 权限混乱,这些客户端无法访问共享。到目前为止,我让它工作的唯一方法是将其创建为用户映射共享,设置 NTFS 权限,然后使用 nfsfile 命令将共享转换为未映射共享 (nfsfile /cx c:\myShare)。然后我可以为 Linux 设置适当的所有者/组/权限。两个客户端都很高兴。直到用户开始创建文件/文件夹,权限问题才不断出现。
这太奇怪了,我知道我做错了。我很乐意只使用 NTFS 权限,让服务器找出哪个 AD 用户映射到哪个 unix UID。
如何正确创建和管理具有 AD 身份验证的 Linux 客户端的 Windows NFS 共享?