echo $PATH
루트가 아닌 사용자의 경우 다음과 유사해야 한다는 내용을 읽었습니다 .
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:
echo $PATH
ROOT 사용자 사용법에 대해서는 다음과 유사해야 한다는 내용을 읽었습니다 .
/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
나는 두 가지 의견을 갖고 있습니다:
/home/uname/bin
및 는 PATH에 나열된 첫 번째 디렉터리 이므로home/uname/.local/bin
해당 디렉터리의 실행 파일이 표준 시스템 실행 파일을 덮어쓸 수 있습니다. 일부에서는 이러한 실행 파일이 표준 실행 파일보다 우수하다고 생각할 수도 있습니다. 그러나 이러한 실행 파일과 표준 실행 파일 간의 비호환성으로 인해 예상치 못한 순간에 스크립트가 쉽게 실패할 수 있습니다.확실히, PATH 시작 부분에 이러한 디렉터리를 두는 것은 드문 일이 아니며 유용합니다. 잠재적인 단점을 알고 있어야 합니다.
아시다시피
/usr/local/sbin
,/usr/sbin
, 및 같은 디렉토리는/sbin
일반적으로 루트에만 유용합니다. 어떤 방법으로든 안전 위반은 아니지만PATH
, 이상합니다.