NFS从Linux AD身份validation到使用NIS身份validation的Linux安装共享

我有两台机器:

  1. 具有AD身份validation和运行NFS服务器的Linux
  2. 带有NISauthentication的Linux

问题:

当我尝试从第一台机器(AD身份validation)到第二个(NIS身份validation)安装任何共享时,我总是得到像这样的东西 – drwxrws — + 13 16777260 16777222 4096 Sep 21 09:42软件

事实上,我不能访问这个文件夹,因为在NIS机器上我没有这样的UID / GID的用户

题:

愿有人知道如何解决这个问题?

Windows计算机上的NFS服务器正在将AD用户转换为* nix用户标识。 您将需要在Windows上重新configurationNFS服务器以正确翻译* nix用户。

本文档应该是您configurationNFS服务器的起点。 http://technet.microsoft.com/en-us/library/cc782783%28v=ws.10%29.aspx

nfsd手册页指出:

nfsd根据每个NFS RPC请求中提供的uid和gid将其访问控制权限归于服务器计算机上的文件。 用户期望的正常行为是她可以像访问普通文件系统一样访问服务器上的文件。 这要求在客户机和服务器机器上使用相同的uid和gid。

不幸的是,NFS不能映射用户(除了匿名/ nobody用户root_squash / all_squash ,就是这样)。

我看到两种可能的方法来解决这个问题:

1)创build一个GID为16777222的NIS组,并将需要访问NFS文件系统的NIS用户添加到该NIS组中。

2)或者,如果NFS服务器上没有使用NIS组的GID,并且NFS支持ACL,则可以使用ACL向NIS组请求访问权限(我假定读写访问权限为只读访问权限下面的setfacl中的'w')。 假设名为“软件”的目录,请在NFS服务器上执行以下操作:

 # Back up current ACLs to /tmp/acls getfacl -R -p --access /full/path/to/software > /tmp/acls # Set default ACL rwx for new created directories find /full/path/to/software -type d -exec setfacl -md:g:<gid nis group>:rwx {} \; # Set ACL rwx recursively in existing directories find /full/path/to/software -type d -exec setfacl -mg:<gid nis group>:rwx {} \; # Set ACL rwx recursively in existing files find /full/path/to/software ! -type d -exec setfacl -mg:<gid nis group>:rw {} \; 

[我build议你先testing上面的程序。 创build一个目录,设置ACL,导出并testing它。]

<gid nis group>是NIS组的GID。 您不需要将NIS GID添加到NFS服务器上的/etc/groups 。 显然,如果没有添加,那么您必须将上面的GID指定为数字值。

请注意, setfacl也可以通过-R选项recursion地应用ACL。 我更喜欢用find和rwx作为目录,rw作为文件。

如果出现任何问题:

 # Flush ACLs setfacl -R -b /full/path/to/software # Restore ACLs setfacl --restore=/tmp/acls