Bash
我可以為所有使用者在系統範圍內添加一些東西到 PATH 中,它的優先級最低嗎?
我可以把它放進去
/etc/environment
,所有使用者都會擁有它:PATH=/opt/my/bin
據我了解,
/etc/environment
設置初始環境變數,然後.profile
,.bashrc
類似的發生在以後。這會導致類似
#> echo $PATH /opt/my/bin:/usr/local/sbin:/usr/sbin
碰巧的是,
/opt/my/bin
其中的文件不歸 root 所有,而是歸其他中級管理員所有。在共享系統上,如果子根管理員變得流氓,或者以某種方式被欺騙推出名稱與系統工具衝突的惡意(或易受攻擊的)文件,這將為漏洞利用打開大門。
/opt/my/bin
作為縱深防禦戰略的一部分,採取其他一切措施似乎是明智的預防措施。(偏執的使用者和腳本作者會打字/sbin/foo <args>
,但我們不要依賴它。)我可以在其中包含一個目錄嗎
PATH
?a) 所有使用者都擁有它,包括新創建的使用者,而不向他們推送個人
.bashrc
(或類似)文件,並且b)設置為 include , , and friends後 生效?
PATH``/sbin``/bin
使用
/etc/profile
或/etc/profile.d/
文件夾