crontabスクリプトから環境変数を呼び出すのは安全ですか?

crontabスクリプトから環境変数を呼び出すのは安全ですか?

復号化キーなどの機密情報を含む環境変数を読み取るcrontabスクリプトがあります。 crontab エントリは次のように定義されます。 30 3 * * 5 VAR="pw" /usr/bin/script.sh

このように敏感なものを保管しても安全でしょうか?そうでなければ、どのように改善できますか?

助けてくれてありがとう。

ベストアンサー1

他のユーザーがアクセスできないため、crontabファイルと環境に変数を入れておくのは安全です。ただし、たとえば、デバッグヘルプを要求したときにcrontab行を公開したり、スクリプトの自動化方法の例にコピーして誰かに送信したり、プロセスが進行した場合に誤って公開される危険性があります。環境を記録し、このパスワードにアクセスできない人はログにアクセスできます。または、バックアップしている場合は、このパスワードにアクセスできない人がバックアップにアクセスできます。秘密を別々のファイルまたはディレクトリツリーに保存し、必要に応じて読むことをお勧めします。

変更できない場合script.sh

VAR=$(cat ~/.secret/script/password)

script.shスクリプト全体で変数を使用可能にする代わりに、必要に応じて変数を読み取るように変更できる場合。

環境変数は他のユーザーに公開されませんが、他のユーザーが渡す可能性があるため、外部コマンドに引数として渡さないpsでください。$VARシェル組み込み関数の引数として使用するのは安全です$VAR。たとえば、次は安全です。

gpg --passphrase-fd=3 3< <(printf %s "$PASSPHRASE")

この具体的な例は、次のように簡単に表現できます。

gpg --passphrase-file=/path/to/passphrase

おすすめ記事