我想做的事情应该很简单。
我有一个Ubuntu 10.04盒子。 它目前被configuration为对Kerberos领域的用户进行身份validation(EXAMPLE.ORG)。 krb5.conf文件中只有一个领域,它是默认领域。
[libdefaults] default_realm = EXAMPLE.ORG
PAMconfiguration为使用pam_krb5模块,因此如果在本地机器上创build了用户帐户,并且该用户名与[email protected]凭证相匹配,则该用户可以通过提供他的kerberos密码login。
我想要做的是使用不同的用户名创build一个本地用户帐户,但要始终使用kerberos服务器中的规范名称对其进行身份validation。
例如,kerberos主体是[email protected]
。 我想创build本地帐户preferred.name
并以某种方式configurationkerberos,当有人试图以preferred.name
login时,它使用主体[email protected]
。
我曾尝试在krb5.conf中使用auth_to_local_names
,但是这似乎并没有成功。
[realms] EXAMPLE.ORG = { auth_to_local_names = { full.name = preferred.name }
我曾尝试将[email protected]
添加到[email protected]
/ .k5login。
在所有情况下,当我尝试以preferred.name@host身份login并inputfull.name的密码时,我的Access被拒绝。
我甚至尝试在krb5.conf中使用auth_to_local
,但是我无法获得正确的语法。
是否有可能有一个(不同的)本地用户名,为所有目的的行为完全一样匹配的用户名呢? 如果是的话,这是怎么做的?
我想到了。 我根本不需要使用auth_to_local。 我可以在用户的主目录中使用.k5login。 第一,
cat > ~preferred.name/.k5login [email protected]
然后,我必须configurationPAM来兑现.k5login。 在/etc/pam.d/common-auth,我发现auth sufficient pam_krb5.so
,追加选项search_k5login
。
此后,任何以preferred.namelogin的尝试都将接受[email protected]的密码。