プログラムがbinディレクトリをPATHに追加するのは安全ですか?

プログラムがbinディレクトリをPATHに追加するのは安全ですか?

私はいくつかの外部プログラム(pandoc、samtools、vcflibなど)に依存するプログラムを作成しています。正しいバージョンを使用していることを確認するために、すべてのバージョンのバイナリをダウンロードして、プログラムに付属のディレクトリにbin配置しました。プログラムの実行時に他のシステムにインストールされているバージョンに関係なく、そのバージョンが使用されていることを確認したいと思います。

PATH=~/my_program/bin:$PATHプログラムが始めに独自のバイナリを追加するなどのコマンドを実行するのは通常安全であると見なされますか$PATH

関連質問を見ましたここそしてここしかし、この慣行を実装することが実際に望ましいのか、それともこの場合に意図しない結果が発生するのかは不明です。

ベストアンサー1

安全であることが何を意味するかによって異なります。プログラムが他のユーザーが書き込めないディスクの場所に保存されている場合、これはユーザーがソフトウェアをだまして他のものを実行することができない別のパスであるため、安全です。

バイナリをソフトウェアディレクトリにコピーすることは移植性がなく、セキュリティパッチの利点を得ることができないという点で安全ではありません。ただし、カスタム展開を理解している場合、これは問題にならない可能性があります。

おすすめ記事