目前,我正在使用 Apache 托管我的项目存储库 (mercurial) 并使用 Kerberos 身份验证供用户推送。使用相同的 Kerberos 密码通过 SSH 登录,并且有一个用于用户信息的 LDAP 后端(组、$HOME、默认 shell)。
现在,我有点偏执,我想定期备份并推送我可能忘记提交的任何更改。
我可以很好地完成提交:
hg commit -u backup -m "Periodic commit"
但是,我想推送并让它显示为用户backup
。
我知道一个选项是创建一个名为 的新 Kerberos 用户backup
,然后我可以通过这种方式推送,但如果我的机器受到威胁,我不希望有人使用凭据登录我的服务器backup
。
我认为如果没有相应的 LDAP 条目,用户backup
应该无法登录,但它给我留下了一种不安的感觉。
但这就是所有背景信息。我的问题是,我可以在 Apache 中同时使用 Kerberos 和基于文件的身份验证吗?如果是这样,怎么办?
这是我的相关部分vhost.conf
:
<Location /repos>
AuthType Basic
AuthName "repos"
AuthType Kerberos
KrbMethodNegotiate on
KrbMethodK5Passwd on
Krb5Keytab /path/to/keytab
KrbAuthRealms REALM.TLD
KrbServiceName http/[email protected]
KrbLocalUserMapping On
AuthLDAPUrl ldap://ldap/ou=People,dc=realm,dc=tld?uid
<LimitExcept Get>
Require valid-user
</LimitExcept>
</Location>
答案1
最简单的方法可能是使用备用身份验证设置第二个位置块。