關於PATH的問題from鳥哥的Linux私房菜 - Linux

Sandy avatar
By Sandy
at 2011-06-10T21:26

Table of Contents

※ 引述《ForOthers (為了某些事)》之銘言:
: 小弟是Linux的新手..
: 目前正努力啃著鳥哥的網路教材..
: 有段話小弟始終搞不懂鳥哥所說的狀況..
: "例題:為什麼PATH搜尋的目錄不加入本目錄(.)?加入本目錄的搜尋不是也不錯?
: 如果在PATH中加入本目錄(.)後,確實我們就能夠在指令所在目錄進行指令的執行了。
: 但是由於你的工作目錄並非固定(常常會使用cd來切換到不同的目錄),因此能夠執行
: 的指令會有變動(因為每個目錄底下的可執行檔都不相同嘛!),這對使用者來說並非
: 好事。

假如你的 /home/ForOthers/dir1 與 /home/ForOthers/dir2 底下

各有一個執行檔叫做 hello.exe

雖然同樣的名字,但是做的事情卻不同

這個時候當你位於不同的目錄,執行 hello.exe 時,就會有不同的結果


如果你沒有把 . 設在 PATH 裡,使用者就要用絕對路徑去執行

(或者按照 PATH 的順序去找到執行檔)

這樣執行的結果就是固定的、可以預期的

: 另外,如果有個壞心使用者在/tmp底下做了一個指令,因為/tmp是大家都能夠寫入的
: 環境,所以他當然可以這樣做。假設該指令可能會竊取使用者的一些資料,如果你使
: 用root的身份來執行這個指令,那不是很糟糕?如果這個指令的名稱又是經常會被用
: 到的ls時,那『中標』的機率就更高了!"


所有使用者都可以在 /tmp 底下放東西

如果有個使用者寫了一個程式,對於系統是有破壞性的

譬如程式做了這樣的事 rm -rf /

然後這個使用者又把這隻程式叫做 ls


當 root 執行 cd /tmp; ls 的時候,執行了 /tmp/ls

這樣就會執行這隻惡意程式了


如果你沒有把 . 設在 PATH 裡面

即使有隻惡意的 /tmp/ls 存在,而且你在 /tmp 底下執行了 ls

這樣執行的仍然是 /bin/ls,而不會執行了這隻惡意程式

: 不知道有哪位先進可以各別對紅色字和黃色字各舉一個例子呢??
: 小弟駑鈍無法體會鳥哥所說的話阿..~"~

--
Tags: Linux

All Comments

有如同dos的dir /p的功能嗎??

Eartha avatar
By Eartha
at 2011-06-10T21:09
小弟知道類似dir的指令是ls.. 但是當ls檔案和目錄超過螢幕畫面行數後.. 前面就不見了.. 當然可以用ls -x..效果就如同DOS下的dir/w 但我就是想要如同DOS下的dir/p的功能阿Q.Q 可否請哪位大大指點一下..感溫阿.. - ...

關於PATH的問題from鳥哥的Linux私房菜

Oscar avatar
By Oscar
at 2011-06-10T21:02
小弟是Linux的新手.. 目前正努力啃著鳥哥的網路教材.. 有段話小弟始終搞不懂鳥哥所說的狀況.. and#34;例題:為什麼PATH搜尋的目錄不加入本目錄(.)?加入本目錄的搜尋不是也不錯? 如果在PATH中加入本目錄(.)後,確實我們就能夠在指令所在目錄進行指令的執行了。 但是由於你的工作目錄並 ...

vim 使用 cscope 的 prepend path?

Catherine avatar
By Catherine
at 2011-06-10T16:58
請教一下,我在 vim 裏面使用 cscope 時在 command mode 裏面執行 :cs add cscope.out /home/joseph/test 後面的 /home/joseph/test 是他的 prepend path,也是我現在的 directory, 我希望不要寫死,所以我嘗試 ...

LXDE左下角開始選單字型設定

Ingrid avatar
By Ingrid
at 2011-06-10T14:44
※ 引述《pshadow1 (pshadow)》之銘言: : ※ 引述《HZYSoft (PCMan)》之銘言: : : 偏好設定/自訂外觀風格 : 謝謝PCMan的回覆! : 剛剛試過了,在第一頁的「預設字型」不管設定成多大,實際顯示的字體大小都沒變。 : 不知道是不是Mint的問題。 : 請問有辦法直接改 ...

沒有DNS,能寄信嗎?

Delia avatar
By Delia
at 2011-06-10T10:22
感謝TERI大~問題終於解決 最後解法如下 1.修改/etc/sendmail.cf, 將DS改成 DS[RELAY SERVER IP] 2.修改/etc/hosts 加入一筆收件者FQDN對應IP的Record test.com 192.168.1.1 ※ 引述《terimakasih (hi ...