-
Pass는 유닉스 철학을 따르는 간단한 패스워드 관리 도구로서, 각 패스워드를 GPG로 암호화하여 파일에 저장함
- 패스워드는 폴더 구조로 체계적으로 관리 가능하며, 명령행 도구로 추가, 편집, 생성, 조회, 삭제 등을 쉽게 처리함
-
Git 연동을 통해 패스워드 변경 이력 추적 및 동기화가 가능하여, 여러 컴퓨터 및 팀 환경에서도 유용하게 사용 가능함
-
사용자 자유가 높아, 파일 구조나 저장 데이터 형식을 사용자 상황에 맞게 자유롭게 구성할 수 있음
-
확장성과 높은 호환성으로, 다양한 확장 기능 및 플랫폼별 클라이언트/GUI가 활발히 개발 및 배포되고 있음
Pass 소개
패스워드 관리는 단순해야 하며, Unix 철학을 따라야 함. Pass는 각 패스워드를 GPG로 암호화한 파일 형태로 보관하며, 파일명은 해당 패스워드가 필요한 웹사이트나 리소스명을 사용함
이 암호화 파일들은 원하는 폴더 구조로 정리할 수 있음. 일반적인 파일 관리 명령어를 통해 컴퓨터 간 복사, 이동, 삭제 등도 간편하게 할 수 있음
Pass는 각 패스워드 파일의 추가, 편집, 생성, 조회에 특화된 명령어를 제공하며, 패스워드는 기본적으로 ~/.password-store 하위에 저장됨. 간단한 셸 스크립트로만 구현되어 있음
패스워드 복사(클립보드 복사), 패스워드 변경 이력 기록에 Git을 활용함
기본 셸 명령어로도 편집 가능하며, Zsh, Fish, Bash 등 다양한 셸에서 자동 완성 지원. 다양한 확장 기능 및 타 플랫폼용 클라이언트/GUI가 활발한 커뮤니티 주도로 개발되고 있음
상세한 매뉴얼은 man page에서 확인 가능함
패스워드 스토어 사용법
- 저장된 패스워드 전체 목록 조회 가능
- 특정 패스워드 조회 및 클립보드 복사 기능 지원(자동 클리어)
-
gpg-agent를 통해 편리하게 패스워드 입력 및 인증 처리
- 새로운 패스워드 추가, 기존 파일 다중라인 저장(-m 옵션), 기본 텍스트 에디터를 통해 파일 직접 편집 가능
-
/dev/urandom을 이용한 랜덤 패스워드 생성 기능 제공(옵션에 따라 심볼 포함/제외, 클립보드 바로 복사 지원)
- 패스워드 삭제 시, 파일 시스템에서 암호화 파일도 제거됨
-
Git 저장소로 초기화 후, 패스워드 변경마다 커밋 발생 및 pass git push/pull로 동기화 가능
- 추가 기능 및 상세 사용법은 man page 참조
기본 설정 방법
- 패스워드 스토어 초기화 시, GPG 키 입력만으로 손쉽게 시작 가능(GPG 키 여러개 지정 시 팀 환경에 적합)
- 특정 폴더별로 별도 GPG 키 할당 가능(-p 옵션)
-
Git 저장소로도 초기화 가능함(별도로 remote 지정 가능)
- 모든 패스워드 추가, 삭제, 편집 작업이 Git 커밋으로 관리됨
- man page에서 더욱 확장된 초기화 예시 확인 가능
설치 방법
- Debian/Ubuntu: apt-get install pass
- Fedora/RHEL: yum install pass
- openSUSE/Gentoo/Arch/Macintosh/FreeBSD 등 다양한 플랫폼 지원
- Tarball, Git 저장소 직접 clone 가능(모든 릴리즈는 서명된 태그 제공)
데이터 조직 및 유연성
-
Pass는 사용자 정의에 따라 자유롭게 데이터를 조직 가능(스키마 및 형식 강제 없음)
- 다중라인 저장, 파일명으로 데이터 구분, 폴더 구조 등 다양한 방식 선택 가능
- 예: Amazon/bookreader의 경우, 첫 줄에 패스워드, 이후 URL, 사용자명, 시크릿 질문 등 추가 정보 저장 가능
- 필요 시 각 정보를 별도 파일(예: password, secretquestion1 등)로 관리하는 방식도 선택 가능
- 클립보드 복사 옵션은 첫 줄만 복사하므로 실사용과 부가 정보 저장을 효율적으로 병행 가능
확장 기능
-
확장 기능(extensions) 은 다양한 사용자 요구사항에 대응하기 위해 지원
- 시스템 폴더 또는 사용자 폴더에 설치하며, 환경변수로 활성화 여부를 지정
- 커뮤니티에서 활발하게 다양한 확장 기능이 개발·제공되고 있음
호환 클라이언트
-
여러 플랫폼용 클라이언트/GUI가 커뮤니티에 의해 개발 및 배포되고 있음
- 사용자는 자신의 운영체제나 사용환경에 맞는 클라이언트 선택 가능
다른 패스워드 관리자에서의 마이그레이션
- 타 패스워드 관리자에서 데이터 이관 시 다양한 변환 스크립트와 방법 지원
- 유저가 자신에게 적합한 방식으로 최적의 데이터 조직을 선택 가능
제작자 및 라이선스
-
Jason A. Donenfeld(zx2c4.com)가 개발
-
GPLv2+ 라이선스로 자유롭게 사용 및 수정 가능
기여하기
- 프로젝트는 커뮤니티 참여가 활발함
- 메일링 리스트, Git 패치, Libera.Chat의 #pass 채널 등 다양한 경로로 기여 및 논의 참여 가능