linux的su命令無(wú)法使用
linux的su命令無(wú)法使用是怎么回事呢?下面由學(xué)習(xí)啦小編為大家搜集整理了linux的su命令無(wú)法使用的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux的su命令無(wú)法使用
問(wèn)題具體描述
今天操作自己的一臺(tái)Linux服務(wù)器時(shí),突然su命令不好使了,敲入命令回車后,沒(méi)有任何反應(yīng),不管是su還是su -都一樣,重啟系統(tǒng)后也是問(wèn)題依舊,郁悶的要命。。。
最耐心的一次等了大概1分多鐘,出現(xiàn)su:后面的字符是亂碼的提示,當(dāng)時(shí)沒(méi)截圖,現(xiàn)在也不想還原問(wèn)題了,下面說(shuō)說(shuō)問(wèn)題的產(chǎn)生原因和解決方法
問(wèn)題產(chǎn)生原因
郁悶了半天,才想起來(lái)上一次退出登錄前的動(dòng)作是修改了SecureCRT中的字符編碼設(shè)置,設(shè)置路徑:
復(fù)制代碼代碼如下:
Options > Session Options > Terminal > Appearance > Character encoding > 從default設(shè)為UTF-8
修改成UTF-8的原因是在系統(tǒng)中使用vi編輯帶中文的配置文件時(shí),出現(xiàn)亂碼的情況,所以根據(jù)以前的經(jīng)驗(yàn)就設(shè)置了SecureCRT中的字符編碼為UTF-8,這樣就不會(huì)亂碼了。
問(wèn)題是記得重裝系統(tǒng)前這樣設(shè)置是沒(méi)有任何問(wèn)題的,也就是不會(huì)導(dǎo)致su命令出現(xiàn)沒(méi)有反應(yīng)的情況,非常非常奇怪,再仔細(xì)想了一下,貌似前些日子修改了CentOS的i18n配置,當(dāng)前的i18n配置情況
復(fù)制代碼代碼如下:
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
記得當(dāng)時(shí)修改這個(gè)配置的原因也是為了解決亂碼問(wèn)題,結(jié)合當(dāng)前問(wèn)題,設(shè)想了一下問(wèn)題的可能原因,然后測(cè)試了一下,果然跟想像的一樣。
原因總結(jié):i18n語(yǔ)言配置為中文并且SecureCRT的Character encoding配置項(xiàng)是UTF-8的情況下,就會(huì)導(dǎo)致su命令沒(méi)有任何反應(yīng)。
linux的su命令無(wú)法使用的解決辦法
知道了原因,解決起來(lái)就簡(jiǎn)單了,我測(cè)試過(guò),把i18n語(yǔ)言項(xiàng)配置成中文,SecureCRT的Character encoding配置成Default的情況下,vi打開(kāi)包含漢字的配置文件,依然會(huì)亂碼,如果把SecureCRT的Character encoding配置為UTF-8又會(huì)導(dǎo)致su命令不起作用,所以我就把i18n還原成默認(rèn)設(shè)置:
復(fù)制代碼代碼如下:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
然后把SecureCRT的Character encoding配置為UTF-8就完美解決了vi打開(kāi)事漢字的文件亂碼問(wèn)題,而且又不會(huì)讓su命令出問(wèn)題,好吧,就這樣吧!!!