在 中/etc/krb5.conf
,给定以下内容default_realm
,应该[realms].default_domain
指向default_realm
或域控制器 (DC) 或密钥分发中心 (KDC)?
ada 和 adb 是 Windows Server DC 和 KDC。域成员是运行受支持的 Ubuntu Server 版本的系统,通过 Samba 和 Winbind 加入为域成员。
DC 提供通过 ssh 登录和访问 Ubuntu 服务器上的 SMB 共享的身份验证。这用于控制域用户和组可以在各个 Ubuntu 服务器上访问哪些内容。
例 1:
[libdefaults]
ticket_lifetime = 24h
default_realm = DEPT.EXMAMPLE.COM
default_tgs_entypes = rc4-hmac des-cbc-md5
default_tkt__enctypes = rc4-hmac des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-md5
dns_lookup_realm = false
dns_lookup_kdc = true
dns_fallback = yes
[realms]
DEPT.EXMAMPLE.COM = {
kdc = ada.dept.example.com
kdc = adb.dept.example.com
admin_server = ada.dept.example.com
master_kdc = ada.dept.example.com
default_domain = dept.example.com
}
[domain_realm]
.dept.example.com = DEPT.EXMAMPLE.COM
dept.example.com = DEPT.EXMAMPLE.COM
示例2
[libdefaults]
ticket_lifetime = 24h
default_realm = DEPT.EXMAMPLE.COM
default_tgs_entypes = rc4-hmac des-cbc-md5
default_tkt__enctypes = rc4-hmac des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-md5
dns_lookup_realm = false
dns_lookup_kdc = true
dns_fallback = yes
[realms]
DEPT.EXMAMPLE.COM = {
kdc = ada.dept.example.com
kdc = adb.dept.example.com
admin_server = ada.dept.example.com
master_kdc = ada.dept.example.com
default_domain = dept.example.com
}
[domain_realm]
.dept.example.com = ADA.DEPT.EXMAMPLE.COM
dept.example.com = ADA.DEPT.EXMAMPLE.COM
这两种配置似乎都可以在多个 Ubuntu 服务器上运行,但我不明白为什么,或者哪种配置是正确的。
答案1
您的 ex1 是正确的,ex2 无效。
来自手册页:
[realms]
包含以 Kerberos 域名为关键字的子节,这些子节描述了在何处可以找到特定领域的 Kerberos 服务器,以及其他特定于领域的信息。
[domain_realm]
包含将子域和域名映射到 Kerberos 域名的关系。程序使用它来确定主机应该在哪个领域,给定其完全限定域名。
以及有关 DOMAIN_REALM 部分的详细信息:
[domain_realm] 部分提供从主机名到该主机所提供的服务的 Kerberos 领域名称的转换。
标签名称可以是主机名或域名,其中域名以句点 ('.') 字符前缀表示。关系的值是该特定主机或域的 Kerberos 领域名称。主机名和域名应为小写。
如果没有适用的转换条目,则主机的领域将被视为主机名的域部分
因此它不能直接指向 (K)DC,而必须指向一个领域,并且是比 default_realm 更具体的映射。在您的简单设置中,它完全不需要,因为.dept.example.com = DEPT.EXMAMPLE.COM
如果没有应用转换条目,就会发生这种情况。
我dept.example.com = DEPT.EXMAMPLE.COM
可能会考虑,但我怀疑它是否有必要,因为您指定了全局 default_realm,如果未找到领域 EXMAMPLE.COM 的定义,则应使用它。