使用Windows客户端访问EDA环境的NFS共享
在IC设计环境中, 也总是会有Windows操作系统的开发服务器或者客户端需要使用IC设计平台中Linux主机使用的NFS服务器。 使用者也是IC设计团队中的一员,可能出于设计工具的原因, 他/她的部分工作必须在Windows中完成, 同时也需要保持NFS目录的权限体系,不能为了这少量的Windows用户而放弃NFS中原有的权限配置。 本文解释了如何优雅的实现这个目标。
修改注册表的AnonymousUid
-
Windows主机安装Client For NFS
-
修改注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
添加两个32位DWORD项:AnonymousUid和AnonymousGid, 配置其中的值为10进制的对应的Linux系统中的uid和gid
-
重启Client for NFS服务或者Windows主机
-
访问NFS服务器共享
mount \\nfs-server-ip\share-path z: 或者直接像打开SMB共享一样打开 \\nfs-server-ip\share-path 在三种方法中,这是唯一一种可以直接用SMB共享的打开方式一样打开NFS共享的,剩下的两种只能使用mount命令把NFS共享挂载成一个盘符 -
在Windows Terminal中执行mount命令可以显示当前的链接是通过哪个uid和gid进行的。
这种方法的缺点是 一台Windows主机只能用一个uid和gid去访问nfs服务器,如果这是一台多人同时使用的Windows Server,它仍然是使用同一个uid和gid去访问NFS共享,缺乏灵活性。
本地文件
对于没有加域的Windows计算机,或者整个IC设计环境并不是使用的AD管理身份认证的,反正Windows客户端也没有办法加域,就可以使用这种方法。 在C:\Windows\system32\drivers\etc目录下, 创建和编辑passwd和group两个文件
# passwd文件内容
# username:x:uid:gid::家目录:shell
owl:x:1001:5001::/home/owl:/bin/tcsh
# group文件内容
# groupname:x:gid:username1, username2, username3
developers:x:5001:owl
Windows主机仍然要安装Client For NFS, 重启服务或者Windows主机后可以测试访问
mount \\nfs-server-ip\share-path z:
不能直接像打开SMB一样打开共享了,只能用mount
AD集中认证的环境下
Windows主机加域了
Windows和Linux主机都通过AD来管理(Windows可以不用AD管理), Linux通常会使用SSSD, Windows自然正常的加域即可。 在这种情况下, 其实还是有两种选择
-
sssd自动管理mapping
这种情况下,可以使用“本地文件”配置法。
-
手动管理mapping
Windows AD中的用户是需要配置uidnumber和gidnumber的attribute,以对接Linux的。
本节就假定管理员是手动维护windows AD账户的uidNumber, gidNumber, UnixHomeDirectory, LogonShell这一些属性。
实现方法如下:
-
在Windows上安装Client for NFS服务
-
重启Client For NFS服务或者重启Windows服务器/客户端,因为Windows已经加域, 查询uid和gid的动作会自动的向AD索取
-
挂载
mount \\nfs-server-ip\share-path z: 不能直接像打开SMB一样打开共享了,只能用mount
Windows主机没有加域
但是又想去AD里面取uid和gid信息, 实现方法如下:
-
在Windows上安装Client for NFS服务
-
使用PowerShell启用NFS的Mapping 功能,这个功能就是说让NFS客户端去AD里面找Identity的Mapping , 当然, ldapserver的主机名要能被解析到。
Set-NfsMappingStore -EnableADLookup $True -ADDomainName “owl.local” -ldapserver "shadc01.owl.local,shadc02.owl.local" -
重启Client For NFS服务或者重启Windows服务器/客户端
-
挂载
mount \\nfs-server-ip\share-path z: 不能直接像打开SMB一样打开共享了,只能用mount

浙公网安备 33010602011771号