프로그램이 bin 디렉토리를 PATH에 추가하는 것이 안전합니까?

프로그램이 bin 디렉토리를 PATH에 추가하는 것이 안전합니까?

저는 여러 외부 프로그램(pandoc, samtools, vcflib 등)에 의존하는 프로그램을 만들고 있습니다. 올바른 버전을 사용하고 있는지 확인하기 위해 모든 버전에 대한 바이너리를 다운로드하여 bin프로그램과 함께 제공된 디렉토리에 배치했습니다. 프로그램이 실행될 때 다른 시스템에 설치된 버전에 관계없이 해당 버전이 사용되는지 확인하고 싶습니다.

PATH=~/my_program/bin:$PATH프로그램이 시작 부분에 자체 바이너리를 추가하는 것과 같은 명령을 실행하는 것이 일반적으로 안전한 것으로 간주 됩니까 $PATH?

관련 질문을 봤습니다여기그리고여기그러나 이 관행을 구현하는 것이 실제로 바람직한지, 아니면 이 경우 의도하지 않은 결과가 발생할 수 있는지는 확실하지 않습니다.

답변1

안전하다는 것이 무엇을 의미하는지에 따라 다릅니다. 프로그램이 다른 사용자가 쓸 수 없는 디스크 위치에 저장되어 있다면 이는 사용자가 소프트웨어를 속여 다른 것을 실행하도록 할 수 없는 또 다른 경로이기 때문에 안전합니다.

바이너리를 소프트웨어 디렉토리에 복사하는 것은 이식성이 없으며 보안 패치의 이점을 얻을 수 없다는 점에서 안전하지 않습니다. 그러나 사용자 지정 배포를 이해하고 있다면 이는 문제가 되지 않을 수 있습니다.

관련 정보