Shell
$PATH:輸出顯示惡意程序?
我讀到使用
echo $PATH
, 對於非 root 使用者應該類似於:/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
這看起來應該是 root 使用者的輸出。這是我應該關注的事情嗎,例如我的目錄中有一個“惡意可執行程序”,在我沒有啟動 root 訪問權限時提供(未經授權的遠端)root 訪問權限?
雖然不太可能是“惡意”攻擊,但 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
和home/uname/.local/bin
是 PATH 中列出的第一個目錄,所以那裡的執行檔可能會覆蓋標準系統執行檔。可能有人認為此類執行檔優於標準執行檔。然而,這些執行檔與標準執行檔之間的任何不兼容都可能在令人驚訝的時刻很容易導致腳本失敗。可以肯定的是,將這些目錄放在 PATH 的開頭並不罕見並且很有用。你應該意識到潛在的不利因素。 2. 如您所知,像
/usr/local/sbin
、/usr/sbin
和之類的目錄/sbin
通常只對 root 有用。雖然將它們放在您PATH
的 .