$PATH: 출력에 악성 프로그램이 표시됩니까?

$PATH: 출력에 악성 프로그램이 표시됩니까?

echo $PATH루트가 아닌 사용자의 경우 다음과 유사해야 한다는 내용을 읽었습니다 .

/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:

echo $PATHROOT 사용자 사용법에 대해서는 다음과 유사해야 한다는 내용을 읽었습니다 .

/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

이것을 입력하면 다음과 같은 결과 echo $PATH가 나타납니다.

/home/uname/bin:/home/uname/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

이는 루트 사용자의 출력이어야 하는 것처럼 보입니다. 이것이 내가 걱정해야 할 일입니까? 예를 들어 루트 액세스 없이 부팅하면 내 디렉터리에 (무단 원격) 루트 액세스를 제공하는 "악성 실행 파일"이 있습니까?

답변1

"악의적인" 공격일 가능성은 낮지만 해당 PATH를 계속 주시해야 합니다. 이 PATH의 디렉터리를 고려해 보겠습니다.

/home/uname/bin
/home/uname/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games

나는 두 가지 의견을 갖고 있습니다:

  1. /home/uname/bin및 는 PATH에 나열된 첫 번째 디렉터리 이므로 home/uname/.local/bin해당 디렉터리의 실행 파일이 표준 시스템 실행 파일을 덮어쓸 수 있습니다. 일부에서는 이러한 실행 파일이 표준 실행 파일보다 우수하다고 생각할 수도 있습니다. 그러나 이러한 실행 파일과 표준 실행 파일 간의 비호환성으로 인해 예상치 못한 순간에 스크립트가 쉽게 실패할 수 있습니다.

    확실히, PATH 시작 부분에 이러한 디렉터리를 두는 것은 드문 일이 아니며 유용합니다. 잠재적인 단점을 알고 있어야 합니다.

  2. 아시다시피 /usr/local/sbin, /usr/sbin, 및 같은 디렉토리는 /sbin일반적으로 루트에만 유용합니다. 어떤 방법으로든 안전 위반은 아니지만 PATH, 이상합니다.

관련 정보