su與su-切換用戶
Posted on 2009-08-13 18:12 Prayer 閱讀(2616) 評(píng)論(0) 編輯 收藏 引用 所屬分類: Shell 、LINUX/UNIX/AIX
linux為安全計(jì),把普通用戶設(shè)置為默認(rèn)的賬戶;這一點(diǎn)跟windows不一樣,windows的默認(rèn)用戶是管理員。由于linux的默認(rèn)賬戶是普通用戶,而更改系統(tǒng)文件或者執(zhí)行某些命令,必需要root(即linux中的管理員)身份才能進(jìn)行,這就需要從當(dāng)前用戶切換到root用戶。
linux中切換用戶的命令是su或su-。今天我在使用fsdisk這個(gè)命令時(shí),終于體會(huì)到這兩者的區(qū)別了。
我首先是用su命令切換到root身份的,但是運(yùn)行fdisk時(shí),出現(xiàn)錯(cuò)誤:command not found!這時(shí)必須加上路徑/sbin/fdisk才可以運(yùn)行。
經(jīng)論壇高手指點(diǎn),才明白原由:是因?yàn)闆]有為這個(gè)命令設(shè)置環(huán)境變量,所以要加絕對(duì)路徑才能運(yùn)行!但是/sbin這個(gè)路徑是系統(tǒng)設(shè)置好的呀,怎么會(huì)出現(xiàn)沒有設(shè)置環(huán)境變量的錯(cuò)誤呢?問題就出現(xiàn)在這個(gè)用su命令切換過來的root用戶上!
原來,切換root用戶最好用su-命令,而不是su命令!
su命令和su-命令最大的區(qū)別,就是:前者只是切換了身份,但SHELL環(huán)境仍然是普通用戶的SHELL;而后者連用戶和SHELL環(huán)境一起切換成root了。只有切換了SHELL環(huán)境才不會(huì)出現(xiàn)PATH環(huán)境變量錯(cuò)誤。
下面一幅圖片能說明這個(gè)問題:
![]() 從圖片上可以看到用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ù)博客 |