리눅스 GPG 홈 디렉터리 완벽 이전 가이드: addgnupghome으로 안전하게 마이그레이션하기

개요

리눅스 환경에서 GPG 키와 설정이 저장되는 홈 디렉터리를 새로운 표준 경로로 마이그레이션해야 할 때 addgnupghome 명령어를 활용할 수 있습니다. 이 글에서는 addgnupghome의 개념과 동작 원리를 살펴보고, 실제 실습을 통해 안전하게 GPG 홈 디렉터리를 구성하고 검증하는 방법을 알아봅니다.

1. GnuPG 도구 설치 및 addgnupghome 명령어 확인

GnuPG 홈 디렉터리 마이그레이션 및 관련 작업을 진행하기 위해 gnupg 및 gpgv 패키지를 설치합니다.

sudo apt-get update -qq && sudo apt-get install -y gnupg gpgv

which 명령어를 실행하여 시스템 내에 addgnupghome 실행 파일이 /usr/sbin/addgnupghome 경로에 정상적으로 위치하는지 확인합니다.
addgnupghome 명령어는 기존 사용자 계정 또는 신규 디렉터리에 GnuPG 홈 디렉터리(~/.gnupg) 구조를 생성하고 마이그레이션하는 도구입니다.
⚙️ [주요 옵션]

account : GnuPG 홈 디렉터리를 생성하거나 마이그레이션할 대상 사용자 계정명을 지정합니다.

which addgnupghome

addgnupghome의 도움말 또는 매뉴얼 페이지를 확인하기 위해 명령어를 실행합니다.
최소화 설치된(minimized) Ubuntu 환경에서는 man 페이지가 기본 제외되어 있어 관련 안내 메시지가 출력됩니다.

addgnupghome –help || man addgnupghome | head -n 20

2. 실습용 레거시 GPG 홈 디렉터리 및 테스트 키 생성

마이그레이션 대상이 될 레거시 GPG 홈 디렉터리를 생성하고 보안을 위해 권한을 700으로 설정합니다.

mkdir -p /tmp/legacy-gnupg && chmod 700 /tmp/legacy-gnupg

이전 실습에서 사용할 테스트용 GPG 키 쌍을 발급하기 위해 gpg --quick-generate-key 명령어를 실행합니다.
지정한 디렉터리(--homedir /tmp/legacy-gnupg)에 비밀번호 없이 1년 유효기간을 가진 테스트 사용자의 기본 키를 생성합니다.

gpg –homedir /tmp/legacy-gnupg –batch –passphrase ’’ –quick-generate-key ‘Test User test@example.com’ default default 1y

ls -la 명령어를 실행하여 레거시 GPG 디렉터리 내부에 공개키 키링(pubring.kbx), 신뢰 데이터베이스(trustdb.gpg), 비밀키 디렉터리 등이 정상적으로 구성되었는지 확인합니다.

ls -la /tmp/legacy-gnupg

3. addgnupghome 명령어로 새로운 GPG 홈 디렉터리 구축

마이그레이션된 GPG 데이터를 저장할 새로운 대상 디렉터리를 생성하기 위해 mkdir -p /tmp/new-gnupg 명령어를 실행합니다.

mkdir -p /tmp/new-gnupg

addgnupghome 명령어를 실행하여 기존 /tmp/legacy-gnupg 디렉터리의 GPG 데이터 및 구조를 새로운 경로인 /tmp/new-gnupg로 마이그레이션합니다.
명령어가 오류 없이 정상적으로 실행되어 대상 경로로 데이터 이전 및 구조 변환 작업이 완료됩니다.

addgnupghome /tmp/legacy-gnupg /tmp/new-gnupg

새로 생성된 디렉터리의 상태를 확인하기 위해 ls -la /tmp/new-gnupg 명령어를 실행합니다.
출력 결과를 통해 새 GPG 홈 디렉터리의 권한 및 구성 상태를 확인합니다.

ls -la /tmp/new-gnupg

4. 이전된 GPG 홈 디렉터리 검증 및 실무 권한 설정 팁

새로 마이그레이션된 디렉터리 경로를 지정하여 GPG 키 목록이 정상적으로 조회되는지 확인하기 위해 gpg --homedir /tmp/new-gnupg --list-keys 명령어를 실행합니다.
이전된 환경에서도 기존 공개키 및 사용자 정보가 문제없이 인식되는지 점검합니다.

gpg –homedir /tmp/new-gnupg –list-keys

GPG 키 데이터의 안전한 보호를 위해 홈 디렉터리에는 700, 내부 파일들에는 600 권한을 부여하는 보안 퍼미션 설정을 적용합니다.
개인키 유출 방지 및 GnuPG 보안 권장 사항에 맞춰 소유자만 읽고 쓸 수 있도록 접근 권한을 제한합니다.

chmod 700 /tmp/new-gnupg && chmod 600 /tmp/new-gnupg/* 2>/dev/null || true

ls -ld 명령어를 실행하여 새 GPG 홈 디렉터리의 퍼미션이 drwx------(700)으로 올바르게 적용되었는지 확인합니다.
출력 결과를 통해 디렉터리 권한이 의도한 보안 수준에 맞게 설정되었음을 검증합니다.

ls -ld /tmp/new-gnupg

실습을 위해 임시로 생성했던 레거시 디렉터리와 신규 GPG 홈 디렉터리를 정리하기 위해 rm -rf /tmp/legacy-gnupg /tmp/new-gnupg 명령어를 실행합니다.
테스트에 사용된 임시 데이터를 모두 삭제하여 시스템 환경을 원래대로 복구합니다.

rm -rf /tmp/legacy-gnupg /tmp/new-gnupg

지금까지 addgnupghome을 활용해 리눅스 환경에서 GPG 홈 디렉터리를 안전하게 마이그레이션하는 방법을 간단하게 살펴보았습니다.
안내해 드린 절차를 참고하셔서 중요한 키 손실이나 권한 오류 없이 깔끔하게 환경을 이전해 보시기 바랍니다.