현재 저는 Apache를 사용하여 프로젝트 저장소(mercurial)를 호스팅하고 사용자가 푸시할 수 있도록 Kerberos 인증을 사용하고 있습니다. 동일한 Kerberos 비밀번호를 사용하여 SSH를 통해 로그인하고 사용자 정보(그룹, $HOME, 기본 셸)에 대한 LDAP 백엔드를 갖습니다.
이제 저는 정기적으로 백업하고 잊어버린 변경 사항을 적용하고 싶은 약간 편집증적입니다.
커밋을 잘 완료할 수 있습니다.
hg commit -u backup -m "Periodic commit"
그러나 나는 푸시하여 사용자에게 표시하고 싶습니다 backup
.
한 가지 옵션은 이름이 지정된 새 Kerberos 사용자를 생성 backup
한 다음 그런 식으로 푸시할 수 있다는 것을 알고 있지만 내 컴퓨터가 손상된 경우 누군가가 자격 증명을 사용하여 내 서버에 로그인하는 것을 원하지 않습니다 backup
.
사용자가 해당 LDAP 항목 없이 로그인할 수 없어야 한다고 생각했지만 backup
불안한 느낌이 들었습니다.
그러나 이것이 배경 정보의 전부입니다. 제 질문은 Kerberos와 파일 기반 인증을 Apache와 동시에 사용할 수 있느냐는 것입니다. 그렇다면 어떻게 해야 할까요?
나에게 관련 부분은 다음과 같습니다 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
가장 쉬운 방법은 아마도 대체 인증을 사용하여 두 번째 위치 블록을 설정하는 것입니다.