gpg가 사용자의 홈 디렉토리에 .gnupg 디렉토리를 작성하지 못하게하는 방법 홈 디렉토리에 디렉토리 및 기타 아티팩트 가

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-optionsgpg명령에 플래그를 추가하는 것이 었습니다 .

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가 전혀 생성되지 않습니다.


답변