서브 버전에서 저장된 비밀번호 / 사용자를 재설정하고 인증 자격 증명을 기억하려면 어떻게해야합니까?


14

배경 : 새로 설치했을 때 모든 것이 잘 작동했습니다.

$ svn co https://domain:443/ test1
Error validating server certificate for 'https://domain:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: **REMOVED**
 - Valid: **REMOVED**
 - Issuer: **REMOVED**
 - Fingerprint: **checked with issuer and REMOVED**
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz-machine-hostname':
Authentication realm: <https://domain:443> Subversion repository
Username: nicdumz
Password for 'nicdumz':

# proceeds to checkout correctly

$ svn co https://domain:443/ test2

# checkouts nicely, without asking for my password.

어느 시점에서 나는 다른 계정을 사용하여 물건을 커밋해야했습니다. 그래서 내가 그랬어

$ svn ci --username other.user
Authentication realm: <https://domain:443> Subversion repository
Password for 'other.user':

# works fine

그러나 그 이후로 'nicdumz'(기본 사용자, 모든 저장소가 해당 사용자와 체크 아웃 됨)로 커밋하려고 할 때마다 암호를 묻는 메시지가 표시됩니다.

$ svn ci
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':

이봐, 왜 :) 읽기 액세스도 보호되기 때문에 새로 체크 아웃하려는 경우에도 마찬가지입니다.

그래서 혼자서 문제를 해결하려고했습니다. ~ / .subversion / auth가 자격 증명을 저장하고 있다고 읽었으므로 길에서 제거했습니다.

$ cd ~/.subversion
$ mv auth oldauth
$ mkdir auth

svn이 인증서 유효성 검사를 잊어 버렸기 때문에 처음에는 작동하는 것 같습니다.

$ svn co https://domain:443/ test3
Error validating server certificate for 'https://domain:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: **REMOVED**
 - Valid: **REMOVED**
 - Issuer: **REMOVED**
 - Fingerprint: **checked with issuer and REMOVED**
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz-machine-hostname':
Authentication realm: <https://domain:443> Subversion repository
Username: nicdumz
Password for 'nicdumz':

# proceeds to checkout correctly

$ svn up
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':

뭐? 어떻게 이런 일이?

행동에 대해 더 자세히 조사 할 제안이 있다면 매우 관심이 있습니다. 내가 맞다면, 장황한 일 svn up이나 그와 비슷한 일 을 할 수있는 방법이 없으므로 조사를 받아야할지 확실하지 않습니다. 아, 그리고 그만한 가치가있는 것 :

$ svn --version
svn, version 1.6.6 (r40053)
   compiled Oct 26 2009, 06:19:08

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - handles 'http' scheme
  - handles 'https' scheme

답변:


14

글쎄, 나는 같은 문제가 있었고 auth 디렉토리를 삭제했다. 나는 그랬다.

svn --username xxx update

내 비밀번호를 요구했지만 그게 다였습니다. 내가 말할 수있는 것은 인증 디렉토리를 삭제하면 나를 위해 일했다는 것입니다. 서버 파일에 적절한 옵션이 있습니까? 즉 (제 생각에) :

store-passwords = yes
store-plaintext-passwords = yes

[global]섹션을 참조하십시오. 100 % 확실하지 않지만 도움이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.