AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 20010
Accepted
churnd
churnd
Asked: 2009-06-05 11:41:51 +0800 CST2009-06-05 11:41:51 +0800 CST 2009-06-05 11:41:51 +0800 CST

为 NFS 映射 UID

  • 772

我有一个通过 SMB/CIFS 和 AFP 服务的 Mac OS X 文件服务器。服务器是通过金三角方法的域客户端,但这会导致用户的 UID 非常大。这对我当前的设置来说很好,但我想让 NFS 也能正常工作。显然我需要做一些 UID 映射,但我不确定如何去做。有什么建议吗?

nfs mount setuid
  • 4 4 个回答
  • 20433 Views

4 个回答

  • Voted
  1. Best Answer
    Kamil Kisiel
    2009-07-06T14:42:05+08:002009-07-06T14:42:05+08:00

    在大多数 NFSv3 实现中,尤其是内核级服务器,除了一些有限的映射(例如 root 到 nobody)之外,这是不可能的。在 NFS v4 中,您有 rpc.idmapd,它在服务器上执行 NFSv4 ID <-> UID 映射,让您变得更加灵活。

    如果您不能使用 NFSv4,推荐的 NFSv3 处理方法是让您的用户来自 LDAP 等目录服务或其他公共数据库。通常,守护进程等的所有系统用户都来自外部,/etc/passwd而所有人类用户都来自外部来源。这将确保统一的 UID 并消除对任何类型映射的需要。

    • 7
  2. churnd
    2009-06-08T10:48:33+08:002009-06-08T10:48:33+08:00

    好吧,经过进一步研究,我发现 nfs-user-server 将允许您进行这种映射。这有点令人沮丧,因为我想在 CIFS 上使用 NFS 的主要原因是速度。nfs-user-server 在用户空间中运行,所以它没有 nfs-kernel-server 快。似乎不是最佳解决方案。

    • 3
  3. Eric Anderson
    2011-06-10T10:38:51+08:002011-06-10T10:38:51+08:00

    我想补充一点,NFSv4 的 UID 映射方法有一个主要问题(参见 Kamil 的评论):它不适用于AUTH_SYS/AUTH_UNIX身份验证,如果不同的计算机不使用 LDAP 或 Kerberos 或其他一些共享访问权限,这就是你所拥有的控制系统。

    问题来了:NFSv4 将在通过网络描述文件所有权时使用文本(即非数字)ID,这正是您想要的,但 RPC 层仍然使用数字 UID 和 GID 值。简单AUTH_SYS的身份验证返回到 RPC,然后你又被卡住了。这是一个看起来像的示例(tshark 捕获客户端->服务器数据包,在服务器端捕获):

    Frame 26 (306 bytes on wire, 306 bytes captured)
    ...
    Remote Procedure Call, Type:Call XID:0x2790a46d
    ...
        Credentials
            Flavor: AUTH_UNIX (1)
            Length: 48
            Stamp: 0x00419c55
            Machine Name: localhost.localdomain
                length: 21
                contents: localhost.localdomain
                fill bytes: opaque data
            UID: 500
            GID: 500
            Auxiliary GIDs
            GID: 500
        Verifier
            Flavor: AUTH_NULL (0)
            Length: 0
    Network File System
    ...
    
    • 3
  4. Karl Katzke
    2009-06-05T17:12:51+08:002009-06-05T17:12:51+08:00

    我还没有在 OSX 上配置它,但是你正在寻找的是 idmapd。在 OSX 机器上,守护进程实际上称为 rpc.idmapd。(注意:不是 imapd。)

    • 0

相关问题

  • 有哪些好方法可以监控 IO 吞吐量和 NFS 共享客户端的负载?

  • 如何在 Windows 7 中挂载 NFS 共享?

  • UNIX 中硬挂载与软挂载的优缺点是什么?

  • 如何从 NFS 服务器获得类似 inotify 的事件通知?

  • 如何优化 1GBit 家庭网络上的 NFS 复制速度?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve