강력한 SSL 비밀번호를 사용하는 비밀번호 보호로 디스크의 파일을 보호하고 보다 안전한 방법으로 파일을 봅니다.

강력한 SSL 비밀번호를 사용하는 비밀번호 보호로 디스크의 파일을 보호하고 보다 안전한 방법으로 파일을 봅니다.

파일을 stdout으로 해독하고 그 내용을 주어진 명령으로 파이프하려고 합니다. 예를 들어 cat명령, wc명령 등이 있습니다. 하지만 아래 명령을 단순화할 수 있는 다른 아이디어가 있을까요?

echo "openssl enc -aes-256-cbc -in "$(read -p "enter file:" fp && echo \"$fp\")" -k "$(read -s -p "enter passwd:" pswd && echo \"$pswd\")" -d | "$(read -p "enter command:" cmd && echo \"$cmd\")" " | xargs -0 -I{} /usr/bin/bash -c {}

완전성을 위해 파일을 암호화하고 해독하는 명령은 다음과 같습니다.

암호화된 파일(비밀번호로 보호됨)

openssl enc -aes-256-cbc -in in.txt -out out.txt -e

파일 암호 해독

openssl enc -aes-256-cbc -in out.txt -k hello -d

물론 지원되는 모든 암호를 사용할 수 있습니다.

답변1

불필요하게 복잡하게 만듭니다. 필요한 것은 몇 가지 편리한 기능뿐입니다.

enc () {openssl enc -aes-256-cbc -in "$@"}
dec () {openssl enc -d -aes-256-cbc -in "$@"}

비밀번호나 키를 제공하지 않으면 openssl비밀번호나 키를 묻는 메시지가 표시됩니다. 즉, 해당 비밀번호나 키를 명령에 작성할 필요가 없습니다.

파일을 암호화하려면:

enc foo > foo.enc

파일 암호 해독:

dec foo.enc

이는 자연스럽게 다른 명령으로 파이프될 수 있습니다.

dec foo.enc | wc -l

답변2

프로그래밍 관점에서는 비즈니스 로직을 사용자 인터페이스와 분리해야 합니다. 파일의 암호를 해독하고 다른 장소에서 옵션을 빌드하면 됩니다.

관련 정보