我已成功将 NFS 共享从远程计算机安装到本地计算机。但是,我要在远程计算机上编辑的文件均属于root.
如何挂载 NFS 驱动器以便本地用户可以编辑这些文件?
我尝试了该idmap.conf文件,但我不太清楚是否应该在本地或远程计算机上编辑该文件,以及应该重新启动哪些服务(同样,本地或远程)以产生任何影响。
从过去,我记得uid=X,gid=X执行类似操作的选项,但现在我在这些选项上收到此错误:
mount.nfs: an incorrect mount option was specified
Run Code Online (Sandbox Code Playgroud)
我使用 Fedora 34 作为本地版本,使用 CentOS 7.6 远程版本。
对于所有基于文件的网络文件系统,文件权限由服务器强制执行。所说ls -l的您可以对该文件执行的操作不一定与您实际可以对该文件执行的操作相匹配。
例如,如果您使用 SMB 或 SSHFS 并以“bart”身份向服务器进行身份验证,则您在服务器 \xe2\x80\x93 上仅拥有用户“bart”的权限,无论报告是什么ls -l,您是否是本地系统的 root 并不重要;本地uid=选项不会对您的 SSHFS 帐户允许在服务器端执行的操作产生任何影响。
但与 SSHFS(使用一个连接和一组凭据)不同,NFS 最初被设计为一种“系统范围”功能,其中相同的挂载可以由各种不同的用户使用,每个用户都有自己的权限 \xe2\x80\ x93,它被设计为与 NIS/YP 一起在同构环境中工作,NIS/YP 是一个确保相同帐户在每台计算机上具有相同 UID 的系统。大多数 NFS 客户端功能(或缺乏)仍然反映了这种设计。
\n因此,考虑到这一点,UID 在 NFS 中有两种完全不同且独立的用途:服务器报告的所有权数据和客户端报告的身份验证凭据。
\n服务器报告的所有权信息(例如 中的数据ls -l)作为 NFS 本身的一部分进行处理。
(这是uid=相关选项的地方,但 Linux NFS 客户端没有它们,尽管其他一些文件系统有。)
在 NFSv4 中,所有权信息可以使用“idmap”进行转换:服务器将 UID 转换为 username@domain,客户端将该用户名转换回其本地 UID。确保双方使用相同的 idmap 域(如 所报告nfsidmap -d) \xe2\x80\x93 如果不同,请通过 /etc/idmap.conf 手动设置。但是,这并不能真正让您对该文件 \xe2\x80\x93执行任何操作,它主要只是视觉效果。
在 NFSv3 中,只能报告数字 UID,并且没有映射它的工具 \xe2\x80\x93 客户端始终看到存储在服务器上的 UID。
\n然而,实际有效的权限依赖于客户端报告的信息,因为它们是在服务器端强制执行的,而不仅仅是客户端。这是在 SunRPC 级别处理的,因此与 NFS 版本没有关系。
\n由于NFS客户端被设计为多用户,其默认的身份验证机制是简单地将访问用户的UID报告给服务器。sec=sys因此,如果您使用(默认)导出并挂载 NFS 共享,则客户端始终会向服务器报告您的真实 UID,并且服务器会信任它而不进行任何验证。
不幸的是,虽然理论上 UID可以在将其报告给服务器之前映射到这里,但 Linux NFS 客户端中根本没有这样的功能,并且它总是报告您的真实 UID。
\n要解决此问题,您需要在所有系统上同步您帐户的 UID,或者通过sec=krb5. 这需要设置 Kerberos KDC 服务器。
简而言之,
\n确保您使用的是 NFSv4。运行mount或findmnt -u查看正在选择的版本。
运行nfsidmap -d并验证两个系统是否使用相同的 idmap 域。默认情况下,这是从系统的 FQDN ( hostname -f) 猜测的,但也可以在/etc/idmapd.conf. 该值不需要是真正的 DNS 域,只需一个任意字符串即可。这应该可以修复 所示的所有者ls。
强烈考虑设置 Kerberos、在服务器上运行 KDC(可以是同一台服务器或不同的服务器),并将 NFS 切换到sec=krb5. (特别是如果您通过 Internet 使用 NFS!)
您不需要任何复杂的附加组件,例如 LDAP 或 Active Directory 或 IPA \xe2\x80\x93,只需相当小的“krb5kdc”守护程序。
\n(相同的 Kerberos 还可以通过“GSSAPIAuthentication”用于 SSH 身份验证,而不仅仅是 NFS。)
\n如果这不是一种选择,那么您将需要在一个系统上更改您帐户的 UID 以与另一个系统匹配。通常只需以 root 身份登录并执行操作usermod -u(这也会 chown 整个主目录)。
| 归档时间: |
|
| 查看次数: |
47137 次 |
| 最近记录: |