libnfsidmap 的配置文件
概要
libnfsidmap 的配置文件。供 idmapd 和 svcgssd 用于在 NFSv4 名称与 ID 之间进行映射。
描述
idmapd.conf 配置文件由若干段组成,段名形如 [General]、[Mapping]。
每段可包含如下形式的行:
variable = value
识别的段及其变量如下:
[General] 段变量
Verbosity 调试输出的详细级别(默认:0)
Domain 本地 NFSv4 域名。NFSv4 域名是一个拥有唯一 username<->UID 与 groupname<->GID 映射的命名空间。(默认:主机的完整 DNS 域名)
No-Strip 在多域环境中,某些 NFS 服务器会将身份管理域附加到 owner 与 owner_group,而非使用真正的 NFSv4 域名。该选项可在此类环境中辅助查找。若设为非 "none" 值,nsswitch 插件会首先将带域的名称传给password/group查找函数;若映射失败,再用旧方法(将字符串中的域与 Domain 值比较,匹配则剥离,然后把短名称传给查找函数)。合法值为 "user"、"group"、"both"、"none"。(默认:"none")
Reformat-Group
Winbind 有个怪癖:以 UPN 格式(如 staff@americas.example.com)查询组时,返回的组名会带完整大写域(如 AMERICAS.EXAMPLE.COM\staff),而非熟悉的 NetBIOS 格式(如 AMERICAS\staff)。设为 true 可在传给组查找函数前重命名,以绕过该问题。仅当 No-Strip 为 "both" 或 "group" 时生效。(默认:"false")
Local-Realms
逗号分隔的 Kerberos realm列表,这些realm被视为与本地realm等价。例如,用户 juser@ORDER.EDU 与 juser@MAIL.ORDER.EDU 在指定 Domain 下可视为同一用户。(默认:主机的默认realm名)
注意: 若此处指定了值,也必须把默认本地realm包含进去。
[Mapping] 段变量
Nobody-User 映射无法完成时使用的本地用户名。
Nobody-Group 映射无法完成时使用的本地组名。
[Translation] 段变量
Method
逗号分隔、按顺序尝试的映射方法(插件)列表,用于在 NFSv4 名称与本地 ID 之间映射。依次尝试直至找到映射或列表耗尽。默认包含的方法有 "nsswitch"、"umich_ldap"、"static"。(默认:nsswitch)
GSS-Methods
可选的逗号分隔列表,指定在 GSS 认证名称与本地 ID 之间映射时使用的方法。(默认:与 Method 相同)
[Static] 段变量
"static" 转换方法使用静态列表,将 GSS 认证名称映射到本地用户名。列表条目格式:
principal@REALM = localusername
[REGEX] 段变量
若指定 "regex" 转换方法,则使用以下变量在 NFSv4 名称与本地 ID 之间映射。
User-Regex
不区分大小写的正则表达式,用于从 NFSv4 名称提取本地用户名。多条表达式可用 '|' 拼接,首个匹配生效。无默认值。针对域 DOMAIN.ORG 和realm MY.DOMAIN.ORG 的基础示例:
^DOMAIN\([^@]+)@MY.DOMAIN.ORG$
Group-Regex
不区分大小写的正则表达式,用于从 NFSv4 名称提取本地组名。规则同上。示例:
^([^@]+)@DOMAIN.ORG@MY.DOMAIN.ORG$|^DOMAIN\([^@]+)@MY.DOMAIN.ORG$
Prepend-Before-User
构建 NFSv4 用户名时置于本地用户名前的常量字符串,通常为短域名加 '\'。(默认:无)
Append-After-User
构建 NFSv4 用户名时附加到本地用户名后的常量字符串,通常为 '@' 加默认realm。(默认:无)
Prepend-Before-Group
构建 NFSv4 组名时置于本地组名前的常量字符串,通常不用。(默认:无)
Append-After-Group
构建 NFSv4 组名时附加到本地组名后的常量字符串,通常为 '@' 加域名再加 '@' 和默认realm。(默认:无)
Group-Name-Prefix
将本地组名转为 NFSv4 组名时附加的前缀;若 NFSv4 组名带有此前缀,则转回本地组名时会去掉。可用于给中央目录中的组名加统一前缀,以便在独立组织单元内缩短显示。无默认值。
Group-Name-No-Prefix-Regex
不区分大小写的正则表达式,用于排除某些组不加/去前缀。表达式需同时匹配远程与本地组名。多条可用 '|' 拼接。(默认:无)
[UMICH_SCHEMA] 段变量
若指定 "umich_ldap" 转换方法,则使用以下变量。
LDAP_server
LDAP 服务器名称或地址(使用 UMICH_LDAP 时必需)
LDAP_base
绝对 LDAP 搜索基准。(必需)
LDAP_people_base
人员账户的绝对 LDAP 搜索基准。(默认:LDAP_base 的值)
LDAP_group_base
组账户的绝对 LDAP 搜索基准。(默认:LDAP_base 的值)
LDAP_canonicalize_name
是否对 LDAP_server 给出的名称进行规范化(默认:"true")
LDAP_follow_referrals
是否跟随 LDAP 引用(默认:"true")
LDAP_use_ssl
设为 "true" 启用与 LDAP 服务器的 SSL 通信(默认:"false")
LDAP_ca_cert
启用 SSL 时可信 CA 证书的路径。(LDAP_use_ssl 为 true 且 LDAP_tls_reqcert 未设为 never 时必需)
LDAP_tls_reqcert
控制 LDAP 服务器证书验证行为,取值与 ldap.conf(5) 的 TLS_REQCERT 相同。(默认:"hard")
LDAP_timeout_seconds
LDAP 请求超时秒数(默认:4)
LDAP_sasl_mech
SASL 认证机制名称。需使用 SASL 认证时给出(默认:无)
LDAP_realm
SASL 认证所用领域(默认:无)
LDAP_sasl_authcid
SASL 认证身份(默认:无)
LDAP_sasl_authzid
SASL 授权身份(默认:无)
LDAP_sasl_secprops
Cyrus SASL 安全属性,取值同 ldap.conf(5) 的 sasl_secprops。
LDAP_sasl_canonicalize
是否对 LDAP 服务器主机名做规范化。设为 yes 将做反向解析。未设置则使用 LDAP 库默认值。(默认:无)
LDAP_sasl_krb5_ccname
Kerberos 凭据缓存路径。未设置则使用环境变量 KRB5CCNAME;若环境变量也未设置,则使用 Kerberos 库默认机制。
NFSv4_person_objectclass
本地 LDAP 模式中人员账户的对象类名(默认:NFSv4RemotePerson)
NFSv4_name_attr
本地模式中用于 NFSv4 用户名的属性名(默认:NFSv4Name)
NFSv4_uid_attr
本地模式中用于 uidNumber 的属性名(默认:uidNumber)
GSS_principal_attr
本地模式中用于 GSSAPI 主体名的属性名(默认:GSSAuthName)
NFSv4_acctname_attr
本地模式中用于账户名的属性名(默认:uid)
NFSv4_group_objectclass
本地 LDAP 模式中组账户的对象类名(默认:NFSv4RemoteGroup)
NFSv4_gid_attr
本地模式中用于 gidNumber 的属性名(默认:gidNumber)
NFSv4_group_attr
本地模式中用于 NFSv4 组名的属性名(默认:NFSv4Name)
LDAP_use_memberof_for_groups
某些 LDAP 服务器对“枚举所有组并在 memberUid 里找用户”的查询做了优化,而像 SunOne 这类目录在组数上千时该查询可能耗时数分钟。设为 true 将改用账户的 memberof 列表,仅在这些组里搜索以获取 gid。(默认:false)
NFSv4_member_attr
LDAP_use_memberof_for_groups 为 true 时,用于查找的属性。(默认:memberUid)
NFSv4_grouplist_filter
可选的组隶属关系搜索过滤器。(无默认值)
示例
示例 /etc/idmapd.conf:
[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,regex,nsswitch
GSS-Methods = umich_ldap,regex,static
[Static]
johndoe@OTHER.DOMAIN.ORG = johnny
[Regex]
User-Regex = ^DOMAIN\([^@]+)@DOMAIN.ORG$
Group-Regex = ^([^@]+)@DOMAIN.ORG@DOMAIN.ORG$|^DOMAIN\([^@]+)@DOMAIN.ORG$
Prepend-Before-User = DOMAIN
Append-After-User = @DOMAIN.ORG
Append-After-Group = @domain.org@domain.org
Group-Name-Prefix = sales-
Group-Name-No-Prefix-Regex = -personal-group$
[UMICH_SCHEMA]
LDAP_server = ldap.domain.org
LDAP_base = dc=org,dc=domain
文件
/usr/etc/idmapd.conf
/usr/etc/idmapd.conf.d/*.conf
/etc/idmapd.conf
/etc/idmapd.conf.d/*.conf
按所列顺序读取,后设置的值覆盖先前的值。
参见
idmapd(8) svcgssd(8)

浙公网安备 33010602011771号