gpg
도구를 사용하여 파일을 암호화하고 해독 하려고 하는데 사용자의 전역 상태를 변경하지 않고이 도구를 실행할 수 있는지 알고 싶습니다. 특히, gpg
지정된 사용자로 처음 실행 .gnupg
하면 사용자의 홈 디렉토리에 디렉토리 및 기타 아티팩트 가 작성 됩니다.
사용자의 공개 및 비밀 키 링 에서이 명령의 작동을 분리하는 데 약간의 성공을 거두었습니다 ( 이 방법에 대해서는 https://github.com/rcook/rgpg의 Ruby gem 참조 ). 행동 gpg
을 막고 싶습니다.
답변
당신은 그것에게 전달할 수있는 --homedir
인수 또는 사용 GNUPGHOME
이 아닌 다른 디렉토리를 사용하도록 환경 변수를 .gnupg
. 이것을 스크립팅하는 경우 임시 디렉토리를 만들 수 있습니다.
GNUPGHOME=$(mktemp -d $HOME/.gnupgXXXXXX)
export GNUPGHOME
그런 다음 완료되면 정리하십시오.
gpg ...
rm -rfi $GNUPGHOME
답변
“gpg가 .gnupg 디렉토리를 작성하지 못하게하는 방법”
읽기 전용 마운트 디스크에서 일부 주요 지문을 확인하는 동안 질문 제목에 설명 된 것과 동일한 문제가있었습니다.
내가 사용한 해결책 --no-options
은 gpg
명령에 플래그를 추가하는 것이 었습니다 .
gpg --no-options \
--with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
에 따라 수동 :
--no-options
–options / dev / null의 바로 가기입니다. 이 옵션은 옵션 파일을 열기 전에 감지됩니다. 이 옵션을 사용하면 ~ / .gnupg homedir이 작성되지 않습니다.
gpg가 여전히 사용자의 공개 및 비밀 키링을 읽을 수없는 오류를 인쇄하는 경우 리디렉션 2>/dev/null
은 이러한 오류를 억제합니다. 그러나이 경우 키 정보가 인쇄 되더라도 명령의 종료 코드는 0이 아닐 수 있습니다.
답변
–no-options가 작동하지 않습니다. 여전히 .gnupg 폴더를 만듭니다. 그러나이 트릭을 사용하여 작동시킬 수 있습니다. GNUPGHOME이 “/ dev / null”을 가리 키도록합니다.
export GNUPGHOME="/dev/null"
그런 다음 gpg 명령을 실행하면 .gnupg가 전혀 생성되지 않습니다.