Kerberos

使用首選使用者名,但針對 Kerberos 主體進行身份驗證

  • December 24, 2010

我想做的事情應該很簡單。

我有一個 Ubuntu 10.04 盒子。它目前配置為針對 kerberos 領域 (EXAMPLE.ORG) 對使用者進行身份驗證。krb5.conf 文件中只有一個領域,它是預設領域。

[libdefaults]
   default_realm = EXAMPLE.ORG

PAM 配置為使用 pam_krb5 模組,因此如果在本地電腦上創建了使用者帳戶,並且該使用者名與 username@EXAMPLE.ORG 憑據匹配,則該使用者可以通過提供其 kerberos 密碼登錄。

我想做的是創建一個具有不同使用者名的本地使用者帳戶,但始終根據 kerberos 伺服器中的規範名稱對其進行身份驗證。

例如,kerberos 主體是full.name@EXAMPLE.ORG. 我想創建本地帳戶preferred.name並以某種方式配置 kerberos,當有人嘗試以身份登錄時preferred.name,它使用主體full.name@EXAMPLE.ORG

我曾嘗試使用auth_to_local_nameskrb5.conf 中的,但這似乎沒有奏效。

[realms]
   EXAMPLE.ORG = {
           auth_to_local_names = {
                   full.name = preferred.name
           }

我嘗試添加full.name@EXAMPLE.ORG到 ~preferred.name/.k5login。

在所有情況下,當我嘗試以 preferred.name@host 身份登錄並輸入 full.name 的密碼時,我都會收到拒絕訪問。

我什至嘗試auth_to_local在 krb5.conf 中使用,但語法不正確。

是否有可能擁有一個(不同的)本地使用者名,其行為與匹配的使用者名完全一樣?如果是這樣,這是如何完成的?

我想到了。我根本不需要使用 auth_to_local。我可以在使用者的主目錄中使用 .k5login。第一的,

cat > ~preferred.name/.k5login
full.name@EXAMPLE.ORG

然後,我必須配置 PAM 以支持 .k5login。在我找到auth sufficient pam_krb5.so的 /etc/pam.d/common-auth 中,附加選項search_k5login

此後,任何以preferred.name 身份登錄的嘗試都將接受full.name@EXAMPLE.ORG 的密碼。

引用自:https://serverfault.com/questions/213697