本人以前一直習(xí)慣直接使用root迁沫,很少使用su,前幾天才發(fā)現(xiàn)su與su -命令是有著本質(zhì)區(qū)別的讲弄!
大部分Linux發(fā)行版的默認(rèn)賬戶是普通用戶,而更改系統(tǒng)文件或者執(zhí)行某些命令,需要root身份才能進(jìn)行秕磷,這就需要從當(dāng)前用戶切換到root用戶。Linux中切換用戶的命令是su或su -炼团。前天我在使用useradd這個命令時澎嚣,才體會到這兩者的本質(zhì)區(qū)別。如圖:
我首先是用su命令切換到root身份的瘟芝,但是運(yùn)行useradd時易桃,出現(xiàn)錯誤:bash: useradd: command not found。google了一下锌俱,原因是在這個用su命令切換過來的root用戶上晤郑。
su命令和su -命令最大的本質(zhì)區(qū)別就是:前者只是切換了root身份,但Shell環(huán)境仍然是普通用戶的Shell贸宏;而后者連用戶和Shell環(huán)境一起切換成root身份了造寝。只有切換了Shell環(huán)境才不會出現(xiàn)PATH環(huán)境變量錯誤。su切換成root用戶以后吭练,pwd一下诫龙,發(fā)現(xiàn)工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以后线脚,工作目錄變成root的工作目錄了赐稽。用echo $PATH命令看一下su和su -以后的環(huán)境變量有何不同。以此類推浑侥,要從當(dāng)前用戶切換到其它用戶也一樣姊舵,應(yīng)該使用su -命令。如圖:
Linux就是這樣寓落,有時候配置文件多了或者少了一個空格括丁,服務(wù)就運(yùn)行不了。細(xì)節(jié)問題一定要注意伶选,這樣才能少走彎路史飞!