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 / 问题 / 713629
Accepted
cornuz
cornuz
Asked: 2015-08-13 05:56:26 +0800 CST2015-08-13 05:56:26 +0800 CST 2015-08-13 05:56:26 +0800 CST

LDAP + KERBEROS + NFS。为什么我需要 idmapd?

  • 772

我想要做什么

我有一个 freeIPA 域,有几个客户端和一个 Synology NAS(也注册了 freeIPA)。

我在 NAS 上创建了一个共享文件夹,支持 NFSv4 + krb5。从客户端,我获得了 LDAP 用户的票证[email protected]并挂载了这个文件夹。

最初,在此文件夹中创建的文件将归nobody用户所有。

我终于让它工作了,通过/etc/idmapd.conf将 NAS 更改为

  • 正确设置域
  • [email protected]与本地用户之间有静态映射

问题

我确实了解idmapd一般前 NFS 的作用。

然而,在这种情况下:

  • 为什么我需要显式映射?自己搞不定吗?
  • 为什么我需要一个映射?NAS 也在同一个 freeIPA 域中,是一个 LDAP 客户端并具有正确的 kerberos 主体。它完全知道谁[email protected]是谁,为什么不能只使用该 uid 来获取该文件夹的文件所有权,而不是本地的 uid用户?我可以避免创建本地用户吗?

我现在的idmapd.conf样子是这样的:

[General]
Domain=hq.example.com

[Mapping]
Nobody-User=guest
Nobody-Group=users

[Translation]
Method=nsswitch
GSS-Methods=static,synomap

[Static]
[email protected]=user1

我想要实现的是我不需要那个静态映射[email protected]=user1,如果可能的话,我什至不需要user1在 NAS 上创建本地用户。

ldap
  • 1 1 个回答
  • 9323 Views

1 个回答

  • Voted
  1. Best Answer
    HBruijn
    2015-08-13T07:21:34+08:002015-08-13T07:21:34+08:00

    简而言之,NFSv4 协议依赖于在服务器和客户端之间共享的用户名,而不是 UID/GID编号(在早期版本中使用)和 UID <==> 用户名映射实际上可以不同在客户端和服务器上。

    作为 NFSv4 协议的一部分,服务器都需要将公共安全上下文/权限、所有者和所有者组映射到对本地文件系统操作有意义的东西。该映射由 IDMAPD 在 Linux 系统上完成。

    在 Linux 系统上,许多本地文件系统操作是基于 UID/GID 的,但这些操作需要先转换为共享的 NFSv4 上下文,然后才能传输到 NFS 服务器。

    也许RFC 3530可以更好地解释它:

    § 5.8。解释所有者和所有者组

    推荐的属性"owner"和"owner_group"(以及“acl”属性中的用户和组)以 UTF-8 字符串表示。为了避免与客户端或服务器上的特定底层实现相关联的表示,已选择使用 UTF-8 字符串。请注意,[RFC2624] 的第 6.1 节提供了额外的理由。预计客户端和服务器将拥有自己的所有者和所有者组的本地表示,用于本地存储或呈现给最终用户。因此,预计当这些属性在客户端和服务器之间传输时,本地表示被转换为形式的语法 "user@dns_domain". 这将允许不使用相同本地表示的客户端和服务器能够转换为两者都可以解释的通用语法。


    编辑以响应您的 imapd.conf。

    您使用到本地用户的静态映射。您可能希望将 NFSv4 身份映射到 LDAP 用户,这可能应该通过nsswitch选项发生,但显然不是。您可以尝试通过增加 NFS 服务器上 idmapd 的详细程度来查看发生了什么。

    或者将 idmapd 配置为直接查询您的 LDAP 服务器。确切的语法可能取决于您使用的版本,但手册页显示了以下内容:

    [General]
    
    Verbosity = 0
    Domain = domain.org
    Local-Realms = DOMAIN.ORG,MY.DOMAIN.ORG,YOUR.DOMAIN.ORG
    
    [Mapping]
    
    Nobody-User = nfsnobody
    Nobody-Group = nfsnobody
    
    [Translation]
    
    Method = umich_ldap,nsswitch
    GSS-Methods = umich_ldap,static
    
    [Static]
    [email protected] = johnny
    
    [UMICH_SCHEMA]   
    LDAP_server = ldap.domain.org
    LDAP_base = dc=org,dc=domain
    
    • 2

相关问题

  • Cygwin sshd 和 LDAP 身份验证

  • 从 OpenLDAP 检索操作属性

  • 为 Mac 网络使用 Linux 和 Open LDAP

  • 使用LDAP服务器身份验证的Linux中单个用户的多个登录名

  • 使用 smbldap 管理用户/组的 Web 前端

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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