systemctlenable winbind.service
將計算機配置爲使用 Winbind 執行 Kerberos 身份驗證:
Authconfig --disablecache --disablesssd --disablesssdauth --enablewinbind --enablewinbindauth --disablewinbindoffline --smbsecurity=ads --smbworkgroup=ctx --smbrealm=CTX.COM --krb5realm=CTX.COM --krb5kdc=ctxad.ctx.com --winbindtemplateshell=/bin/bash --enablemkhomedir --enablekrb5kdcdns --enablekrb5realmdns --updateall
黑色標註部分,請根據自身環境進行更改,注意realm爲大寫的 Kerberos 領域名稱。
忽略 authconfig 命令返回的有關winbind 服務無法啓動的錯誤。 出現這些錯誤的原因是,authconfig 嘗試在計算機尚未加入域的情況下啓動 winbind 服務。
配置smb.conf
打開 /etc/samba/smb.conf 並將以下條目添加到 [Global] 部分下,但要放在authconfig 工具生成的部分後面。
vi /etc/samba/smb.conf kerberos method = secrets and keytab winbind refresh tickets = true
Linux VDA 需要使用系統 keytab文件 /etc/krb5.keytab 執行身份驗證並向 Delivery Controller 進行註冊。 計算機首次加入域後,上面的 kerberos method 設置將迫使 Winbind創建系統 keytab 文件。
首先確保域控可以訪問,同時具有有權限將計算機添加到域中的賬戶。本次使用Administrator。
輸入命令:
net adsjoin CTX.COM –U administrator
輸入域管密碼後,回車。看到提示,加入到域‘ctx.com’。
默認情況下,Winbind PAM 模塊 (pam_winbind) 配置不會啓用Kerberos 票據緩存,也不會創建主目錄。 打開/etc/security/pam_winbind.conf,並在 [Global] 部分下添加或更改以下條目:
krb5_auth = yes krb5_ccache_type = FILE mkhomedir = yes
確保刪除每個設置中的前置分號。
輸入命令,
vi /etc/ security/pam_winbind.conf
更改完成後,重新啓動 Winbind 服務。
systemctl restart winbind.service
打開 /etc/krb5.conf 並將 [libdefaults] 部分下的以下設置從KEYRING 更改爲 FILE 類型:
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
輸入命令,
vi /etc/krb5.conf
使用 Samba 的 net ads 命令確認計算機已加入域:
net adstestjoin
使用以下命令驗證其他域和計算機對象信息:
net adsinfo
要驗證 Kerberos 已正確配置爲可與 Linux VDA 配合使用,請檢查系統keytab 文件是否已創建並含有有效密鑰:
klist -ke
如圖所示,顯示了各種主體名稱與密碼套件組合可用的密鑰列表。 運行 Kerberos kinit 命令,使用這些密鑰向域控制器驗證計算機的身份:
kinit -k CENTOS\[email protected]
注意,計算機名和REALM名稱必須爲大寫。
如果此命令成功運行,則不會顯示任何輸出。
驗證計算機帳戶的 TGT 票據已緩存:
使用以下命令檢查計算機帳戶詳細信息:
net ads status
使用 wbinfo 工具驗證是否可向域驗證域用戶的身份:
wbinfo--krb5auth=ctx\\maliu%Password1!
如圖,驗證了名爲maliu的域用戶身份。此命令會返回一條成功或失敗消息。
補充:
將計算機配置爲使用 Winbind 執行 Kerberos 身份驗證(原圖)