
我讀到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 使用者的輸出。這是我應該擔心的事情嗎?
答案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
和home/uname/.local/bin
是 PATH 中列出的第一個目錄,因此那裡的可執行檔可能會覆寫標準系統可執行檔。有人可能認為此類可執行檔優於標準可執行檔。然而,這些可執行檔與標準可執行檔之間的任何不相容性都可能很容易導致腳本在意外時刻失敗。可以肯定的是,將這些目錄放在 PATH 的開頭並不罕見,而且很有用。您應該意識到潛在的缺點。
如您所知,諸如
/usr/local/sbin
、/usr/sbin
、 和 之類的目錄/sbin
通常僅對 root 有用。雖然將它們放在您的 中無論如何都不會違反安全規定PATH
,但這很奇怪。