Linux 中用戶切換:su 和 su- 的使用 環境變量詳解

大部分Linux發行版的默認帳戶是普通用戶,而更改系統文件或者執行某些命令,須要root身份才能進行,這就須要從當前用戶切換到root用戶,Linux中切換用戶的命令是su或su -,下面就su命令和su -命令最大的本質區別給你們詳解一下: linux

前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;然後者連用戶和Shell環境一塊兒切換成root身份了。只有切換了Shell環境纔不會出現PATH環境變量錯誤。su切換成root用戶之後,pwd一下,發現工做目錄仍然是普通用戶的工做目錄;而用su -命令切換之後,工做目錄變成root的工做目錄了。用echo $PATH命令看一下su和su - 之後的環境變量有何不一樣。以此類推,要從當前用戶切換到其它用戶也同樣,應該使用su -命令。 shell

打個比方:在普通用戶下輸入:
$pwdide

/home/test (當前用戶目錄)操作系統

$su ** (輸入密碼)字符串

#pwd (再次查看路徑)it

/home/test (仍是當前用戶目錄)class

可是若是換成su -的話結果以下:test

$pwd變量

/home/test(當前用戶目錄)程序

$su -

** (輸入密碼)

#pwd (再次查看路徑)

/root (切換到超級用戶目錄)

小知識點:
環境變量:實際上就是用戶運行環境的參數集合,linux是一個都用戶操做系統,並且每一個用戶登錄後,都會有一個專有的運行環境。一般每一個用戶默認的環境環境都是相同的,而這個默認環境實際上都是一組環境變量的定義,用戶能夠對本身的運行環境進行定製,其方法就是修改相應的系統環境變量。

常見的環境變量:
PATH 系統路徑
HOME 系統根目錄
HISTSIZE 保存歷史命令記錄的條數
LOGNAME 當前用戶的登錄名
HOSTNAME 主機的名稱,若應用程序要用到主機名的話,一般是從這個變量中獲取的
SHELL 當前用戶用的哪一種shell
LANG/LANGUGE語言相關的環境變量,使用多種語言的用戶能夠修改此環境變量
MAIL 當前用戶的郵件存放目錄

設置環境變量方法:經過etho顯示字符串(指定的環境變量)經過export 設置環境變量經過env顯示全部環境變量經過set命令顯示本地定義的shell變量經過uset命令來清除環境變量

相關文章
相關標籤/搜索