domain_realm 應該指向域控制器或 KDC,還是只是 default_realm 名稱?
在
/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
Ex2
[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 伺服器,但我不明白為什麼,或者哪個是正確的。
你的 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
可能會起作用,但我懷疑它是否需要,因為如果沒有找到領域 EXMAMPLE.COM 的定義,則應使用指定的全域 default_realm。