linux為安全計,把普通用戶設(shè)置為默認(rèn)的賬戶;這一點跟windows不一樣,windows的默認(rèn)用戶是管理員。由于linux的默認(rèn)賬戶是普通用戶,而更改系統(tǒng)文件或者執(zhí)行某些命令,必需要root(即linux中的管理員)身份才能進(jìn)行,這就需要從當(dāng)前用戶切換到root用戶。
linux中切換用戶的命令是su或su-。今天我在使用fsdisk這個命令時,終于體會到這兩者的區(qū)別了。
我首先是用su命令切換到root身份的,但是運行fdisk時,出現(xiàn)錯誤:command not found!這時必須加上路徑/sbin/fdisk才可以運行。
經(jīng)論壇高手指點,才明白原由:是因為沒有為這個命令設(shè)置環(huán)境變量,所以要加絕對路徑才能運行!但是/sbin這個路徑是系統(tǒng)設(shè)置好的呀,怎么會出現(xiàn)沒有設(shè)置環(huán)境變量的錯誤呢?問題就出現(xiàn)在這個用su命令切換過來的root用戶上!
原來,切換root用戶最好用su-命令,而不是su命令!
su命令和su-命令最大的區(qū)別,就是:前者只是切換了身份,但SHELL環(huán)境仍然是普通用戶的SHELL;而后者連用戶和SHELL環(huán)境一起切換成root了。只有切換了SHELL環(huán)境才不會出現(xiàn)PATH環(huán)境變量錯誤。
下面一幅圖片能說明這個問題:
從圖片上可以看到用su切換成root用戶以后,pwd一下,發(fā)現(xiàn)工作目錄仍然是普通用戶lqs的工作目錄;而用su-命令切換以后,工作目錄變成root的工作目錄了!
再來看一下環(huán)境變量的不同:
你可以在自己的電腦上用echo $PATH命令看一下su-以后的環(huán)境變量有何不同。
以此類推,要從當(dāng)前用戶切換到其它用戶也一樣,應(yīng)該使用su-命令。
學(xué)習(xí)過程中細(xì)節(jié)問題一定要注意,這樣才能少走彎路!
本文出自 51CTO.COM技術(shù)博客