하나의 프로세스에 대해서만 파일을 해독하는 프로그램

하나의 프로세스에 대해서만 파일을 해독하는 프로그램

나는 (디렉토리가 더 나은 경우) 즉석에서 파일을 암호화하고 해독하고 cli를 통해 하나의 프로세스에서만 수행하는 프로그램을 찾고 있습니다. 제가 보기에는 sudo처럼 작동해야 합니다. 실행하면 cat $crypted_file(수퍼유저 모드에서도) 암호화된 바이트만 볼 수 있고, 실행하면 program cat $crypted_file파일을 읽을 수 있습니다. 상단은 전체 폴더(또는 파티션)를 암호화하며 program bash명령을 통해서만 읽을 수 있습니다. 그런 것이 존재하나요?

답변1

해결책 gpg은 파일을 표준 출력으로 해독하고 이를 프로그램으로 파이프하는 것입니다. 이를 위해서는 프로그램 읽기가 필요 stdin하지만 그렇지 않을 수도 있습니다. 내 시스템에 이에 대한 별칭을 만들었습니다.

$ gpg -q --output -
$ alias gpgcat='gpg -q --output -'

그 다음에...

$ gpgcat encryptedfile.gpg | ./myprogram

user236012의 의견을 바탕으로 다음 OpenSSL 대안을 작성할 수 있습니다.

$ echo "Hello, World!" > secrets.txt
$ openssl aes-256-cbc -a -salt -in secrets.txt -out secrets.txt.enc
$ openssl aes-256-cbc -d -a -in secrets.txt.enc
Hello, World!

암호 해독에 관심이 있으므로 마지막 별칭이 하나 필요할 수도 있습니다.

$ alias opensslcat='openssl aes-256-cbc -d -a -in'

(이는 사용하고 싶지 않은 암호 및 솔트 옵션을 정의합니다.)

또한 많은 프로그램이 -표준 입력을 나타내는 파일 인수를 허용한다는 점을 기억하십시오. 예를 들어:

$ gpgcat MyBigSecret.gpg | gzip - > NoMoreSecret.gz

여기서는 gzip암호화되지 않은 버전의 파일을 얻을 수 있으며 압축을 풀어 결과를 읽을 수 있습니다 gzip -dc NoMoreSecret.gz.

관련 정보