程序将其 bin 目录添加到 PATH 是否安全?

程序将其 bin 目录添加到 PATH 是否安全?

我正在构建一个依赖于一系列外部程序(pandoc、samtools、vcflib 等)的程序。为了确保使用正确的版本,我下载了所有这些版本的二进制文件并将它们放在bin程序附带的目录中。当程序运行时,我想确保这些是使用的版本,无论其他系统安装的版本如何。

通常认为程序运行像PATH=~/my_program/bin:$PATH将自己的二进制文件添加到 的开头这样的命令是安全的吗$PATH

我看到了相关问题这里这里但尚不清楚实施这一做法实际上是否可取,或者在这种情况下是否可能会产生意想不到的后果。

答案1

这取决于你所说的安全是什么意思。如果您的程序保存在磁盘上的位置不可被其他用户写入,那么它是安全的,因为它只是用户无法通过欺骗您的软件运行其他内容来利用的另一个路径。

从某种意义上说,将二进制文件复制到软件目录不可移植并且不会从安全补丁中受益,这是不安全的。但如果您了解自己的自定义部署,那么这可能不是问题。

相关内容