OpenSSLのencコマンドに関する具体的な質問がありますが、これはUnix / Linuxファイルのアクセス許可に一般的に適用されるようです。次の復号化コマンドを使用するbashスクリプトがあります。
openssl enc -d -aes-256-cbc -in Secret.enc -out Secret -passファイル:./pass.bin
私が知っている限り、pass.binのファイル権限を700に設定すると、デフォルトでは所有者に完全な権限が与えられ、他のすべてのユーザーには権限が拒否されます。復号化コマンドを含むbashスクリプト(「スクリプト」と呼ばれる)も、所有者のみが実行できるように700に設定されています。そして、私はこれらの2つのファイルの所有者ではないと仮定し、「script」または「pass.bin」を読み取ろうとすると、「Permission Denied」応答を受け取ることになると思います。しかし、コマンドラインからdecryptコマンドを実行するとどうなりますか?それでも「秘密」ファイルは復号化されますか?
答え1
これがOpenSSLコマンドであるという事実は重要ではありません。
スクリプトは所有者(およびルート、忘れないでください)を除いて誰も読むことができません。これは、所有者以外の人がそれを実行したり、たとえば次のように実行したりできない./script.sh
ことを意味します。bash script.sh
スクリプトを読むことができれば、所有者以外の人も実行できますが、ファイルを必要とする復号pass.bin
化は成功しません(所有者以外の人は読めないからです)。これは、ファイルの所有者ではなくユーザーとしてシェルで復号化を実行している場合にも発生する可能性がありますpass.bin
。
これを確認するには、新しいユーザーを設定し、何が起こるかを確認してください。