OpenSSL의 enc 명령에 대한 구체적인 질문이 있지만 이는 Unix/Linux 파일 권한에 더 일반적으로 적용되는 것 같습니다. 다음 암호 해독 명령을 사용하는 bash 스크립트가 있습니다.
openssl enc -d -aes-256-cbc -in Secret.enc -out Secret -pass 파일: ./pass.bin
제가 아는 한, pass.bin의 파일 권한을 700으로 설정하면 기본적으로 소유자에게는 전체 권한이 부여되고 다른 모든 사용자에게는 권한이 거부되는 것입니다. 암호 해독 명령이 포함된 bash 스크립트("스크립트"라고 함)도 소유자만 실행할 수 있도록 700으로 설정되어 있습니다. 그러면 내가 이 두 파일의 소유자가 아니라고 가정하고 "script" 또는 "pass.bin"을 읽으려고 하면 "Permission Denied" 응답을 받게 될 것이라고 이해합니다. 하지만 명령줄에서 decrypt 명령을 실행하면 어떻게 되나요? 그래도 "비밀" 파일이 해독됩니까?
답변1
이것이 OpenSSL 명령이라는 사실은 중요하지 않습니다.
스크립트는 소유자(및 루트, 잊지 마세요)를 제외한 누구도 읽을 수 없습니다. 이는 소유자가 아닌 사람이 이를 실행 하거나 예를 들어 다음을 ./script.sh
사용하여 실행할 수 없음을 의미합니다.bash script.sh
스크립트를 읽을 수 있으면 소유자가 아닌 사람도 실행할 수 있지만 pass.bin
파일이 필요한 암호 해독은 성공하지 못합니다(소유자가 아닌 사람은 읽을 수 없기 때문입니다). 이는 파일의 소유자가 아닌 사용자로 셸에서 암호 해독을 실행하는 경우에도 발생할 수 있습니다 pass.bin
.
이러한 사실을 확신하려면 새 사용자를 설정하고 어떤 일이 일어나는지 확인해 보십시오.