1つのプロセスに対してのみファイルを復号化するプログラム

1つのプロセスに対してのみファイルを復号化するプログラム

私は(ディレクトリが良い場合)即座にファイルを暗号化して復号化し、cliを介して1つのプロセスでのみ実行するプログラムを探しています。私が見るには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!

復号化に興味があるため、最後のエイリアスが1つ必要になる場合があります。

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

(これは使用したくないパスワードとソルトオプションを定義します。)

また、多くのプログラムが-標準入力を表すファイル引数を受け入れることを覚えておいてください。たとえば、

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

ここではgzip暗号化されていないバージョンのファイルを入手し、解凍して結果を読み取ることができますgzip -dc NoMoreSecret.gz

おすすめ記事