bashスクリプトから実際に実行していることを確認する方法はありますか?
(例えば:あなたのbashスクリプトは、いくつかのコマンドを呼び出していると言うtar、mail、scp、mysqldump)、あなたはそのことを確認して喜んでいるtar本当の、実際にあるtarことによって決定された、rootファイルおよび親ディレクトリの所有者と書き込み権限を持つ唯一の一つであるユーザー所有者/tmp/surprise/tarであるwww-dataかapache2所有者ではない人もいます。
確かに私PATHは環境について知っていますが、これを実行中のbashスクリプトからさらにチェックできるかどうか、そしてそうであれば、どのくらい正確に知りたいですか?
例:(擬似コード)
tarfile=$(which tar)
isroot=$(ls -l "$tarfile") | grep "root root"
#and so on...
which何をtarするかを正しく言わないことに加えて、lsハッキングされてファイルに関する偽の情報があればそれを返す可能性があります。またgrep、ハッキングされて誤った情報を返す可能性があります。代わりにシェルマッチングを使用することで回避できますが、シェルがハッキングされる可能性があります。typeそもそも、シェルはハッキングされて間違った結果をもたらす可能性があります。または、シェルの交換可能性は50年前のOSと比較してUnixの重要な革新であったため、完全に置き換えられました。ケントンプソンの1984年のチューリングアドレスを参照してください。それはずっとカメです。
TE)と呼ばれるコンポーネントを持つAIXのみ- 署名付きのデータベース(つまり、MD5チェックサムよりも広範囲です。TEがアクティブで、ファイルがデータベースにある場合は選択可能)プログラムが実行されるかどうか、またはデータベースと一致しないことを警告するだけですさらに、2つの設定があります:(TEP信頼された実行PATH)とTLP(信頼されたLIBrary PATH)。TEPのプログラムのみが実行され、ライブラリはディレクトリは、TLPに含まれているでLinuxの私はあなたを助けるかもしれない「AppArmorの」と呼ばれるものがある。。

