development

SVN 클라이언트는 사용자 인증 데이터를 어디에 저장합니까?

big-blog 2020. 11. 23. 19:35
반응형

SVN 클라이언트는 사용자 인증 데이터를 어디에 저장합니까?


Subversion 저장소에 액세스하는 데 문제가있는 특정 도메인 ID로 발생한 문제를 시뮬레이션하려고합니다. 이를 위해 다른 Windows 시스템 svn checkout에서 옵션 --username domain\problematic_ID으로 시도했습니다 . 그러나 내 ID를 사용하여 결제가 여전히 성공하므로 문제를 재현 할 수 없습니다. 이로 인해 SVN이 여러 곳에서 사용자 인증 데이터를 캐시하는지, 그렇다면 어디에 있는지 궁금해졌습니다.

응용 프로그램 데이터 영역에서 auth 디렉토리를 지우고 구성 파일의 옵션을 변경하여 사용자 인증 데이터 캐싱을 비활성화했지만 아무 소용이 없습니다. 시스템은 새 사용자 이름과 암호를 묻는 메시지도 표시하지 않고 단순히 이전 ID로 체크 아웃합니다 (SVN 로그를 살펴보면 사용중인 이전 ID라는 것을 압니다). 나는 분명히 여기에서 뭔가를 놓치고 있지만 무엇입니까? :-(

아는 사람 있나요?

내가 사용하는 Subversion 클라이언트 버전은 1.4.6 (r28521)입니다.


Subversion 책클라이언트 자격 증명 섹션에서 제안 하는 대로 정확하게 모든 작업을 수행하는 것 같습니다 . 내가 생각할 수있는 유일한 것은 서버가 다른 곳에서 가져 오기 때문에 사용자 이름과 암호를 요구하지 않는다는 것입니다.


  • Unix에서는 $HOME/.subversion/auth.

  • Windows에서는 다음과 같습니다 %APPDATA%\Subversion\auth.


어떤 버전을 사용하십니까?

다음은 최신 버전 (작성 당시 1.6)에 대한 자격 증명 캐싱 에 대한 문서입니다 .

Windows에서 Subversion 클라이언트는 % APPDATA % / Subversion / auth / 디렉토리에 암호를 저장합니다. Windows 2000 이상에서는 표준 Windows 암호화 서비스가 디스크의 암호를 암호화하는 데 사용됩니다. 암호화 키는 Windows에서 관리되고 사용자의 고유 한 로그인 자격 증명에 연결되어 있으므로 사용자 만 캐시 된 암호를 해독 할 수 있습니다. (관리자가 사용자의 Windows 계정 암호를 재설정하면 캐시 된 모든 암호를 해독 할 수 없게됩니다. Subversion 클라이언트는 존재하지 않는 것처럼 작동하여 필요할 때 암호를 묻는 메시지를 표시합니다.)

또한 버전 1.6에서 비밀번호 저장과 관련 하여 몇 가지 변경 사항이 발생했습니다.


나는 내가 아주 오래된 주제에 대해 반란을 일으킨다는 것을 알고 있지만,이 문제로 고투하고 다른 곳에서는 해결책을 찾지 못한 채 몇 시간이 지나면 이것이 대답을하기에 좋은 장소라고 생각합니다.

우리는 WindowsXP 기반 빌드 서버를 가지고 있으며 이것이 바로이 문제를 발견했습니다. svn 명령 줄 클라이언트가 인증 자격 증명을 캐시하지 않습니다.

우리는 마침내 Cygwin의 svn 클라이언트를 사용하고 있음을 알게되었습니다! "기본"Windows가 아닙니다. 따라서이 클라이언트는 모든 인증 자격 증명을 /home/<user>/.subversion/auth에 저장합니다.

설치시 Cygwin의이 / home 디렉토리는 c : \ cygwin \ home에 있습니다. 그리고 : 문제는 svn을 실행하는 Windows 사용자가 Cygwin에 "로그인"하지 않았기 때문에 / home / <user> 디렉토리가 없다는 것입니다.

Windows 명령 터미널의 간단한 "bash -ls"가 디렉토리를 생성하고, 액세스 자격 증명을 묻는 대화 형 프롬프트로 SVN 서버에 처음 액세스 한 후 캐시에 저장되었습니다.

따라서 Cygwin의 svn 클라이언트를 사용하는 경우 로컬 Windows 사용자 용으로 생성 된 "홈"디렉토리가 있는지 확인하십시오.


Windows에서는 아래에서 찾을 수 있습니다.

% USERPROFILE % \ AppData \ Roaming \ Subversion \ auth \ svn.simple
(아래와 동일)
% APPDATA % \ Roaming \ Subversion \ auth \ svn.simple

기여하는 저장소에 따라이 디렉토리 아래에 여러 파일이있을 수 있습니다. 각 svn 서버에 대해 하나의 파일로 가정 할 수 있습니다. 텍스트 편집기로 파일을 열고 올바른 파일을 삭제할 것인지 확인할 수 있습니다.


SVNBook 읽기 | 클라이언트 자격 증명 .

최신 SVN을 사용하면 svn auth캐시 된 자격 증명 목록을 표시하기 위해 실행할 수 있습니다 . svn auth버전 1.9에 도입 되었기 때문에 최신 SVN 클라이언트 버전을 실행하는지 확인하는 것을 잊지 마십시오 . 마지막 줄은 기본적 %APPDATA%\Subversion\auth으로 Windows 및 ~/.subversion/auth/Unix 계열 시스템에 있는 자격 증명 저장소의 경로를 지정합니다 .

PS C:\Users\MyUser> svn auth
------------------------------------------------------------------------
Credential kind: svn.simple
Authentication realm: <https://svn.example.local:443> VisualSVN Server
Password cache: wincrypt
Password: [not shown]
Username: user

Credentials cache in 'C:\Users\MyUser\AppData\Roaming\Subversion' contains 5 credentials

참고 URL : https://stackoverflow.com/questions/1605341/where-does-svn-client-store-user-authentication-data

반응형