su的密碼就是root根使用者的密碼;安裝Linux或是Unix作業系統的時候,會有提示讓使用者輸入root的密碼,這也是執行「sudo su」指令以後出現讓使用者輸入的密碼。 su全名為“switch user”,可讓使用者暫時變更登入的身份,除root外變更時須輸入所要變更的使用者帳號與密碼。
本教學操作環境:linux7.3系統、Dell G3電腦。
su密碼是什麼意思
su的密碼就是root根用戶的密碼呢,安裝Linux或是Unix作業系統的時候,會有提示讓您輸入root的密碼的,這就是執行sudo su指令以後出現讓您輸入密碼的密碼,注意這個密碼是不會顯示星號或其他符號的,一直是空白的,輸入完成以後直接回車就好。
su指令介紹
su(英文全拼:switch user)。在Linux中 su 指令可讓使用者暫時變更登入的身份,除 root 外變更時須輸入所要變更的使用者帳號與密碼。
使用權限:所有使用者。
功能:變更使用者身份,若不指定使用者帳號,則預設變更為root。
語法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
參數說明:
#-f 或--fast 不必讀取啟動檔(如csh. cshrc 等),僅用於csh 或tcsh
-m -p 或--preserve-environment 執行su 時不改變環境變數
-c command 或--command=command 變更為帳號為USER 的使用者並執行指令(command)後再變回原使用者
-s shell 或--shell =shell 指定要執行的shell (bash csh tcsh 等),預設值為/etc/passwd 內的該使用者(USER) shell
--help 顯示說明檔
--version 顯示版本資訊
- -l 或--login 這個參數加了之後,就好像是重新login 為該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)為主,且工作目錄也會改變,如果沒有指定USER ,內定是root
USER 欲變更的使用者帳號
ARG 傳入新的shell 參數
##常用範例:
範例一:變更帳號為root 並在執行ls 指令後退出變回原使用者##指令:
su -c ls root 變更帳號為root 並在執行ls 指令後退出變回原使用者。
[root@localhost ~]# su -c ls root 公共 视频 文档 音乐 anaconda-ks.cfg 模板 图片 下载 桌面 initial-setup-ks.cfg例二:切換使用者
指令:
su root testuser切換成root,相當於使用者改成root但是操作的是testuser環境
切換用戶,只能取得用戶的執行權限,無法取得環境變數。
[testuser@localhost ~]$ whoami //显示当前用户 testuser [testuser@localhost ~]$ pwd //显示当前目录 /home/testuser [testuser@localhost ~]$ su root //切换到root用户 密码: [root@localhost testuser]# whoami root [root@localhost testuser]# pwd /home/testuser
指令:
su - root## testuser切換成root,相當於使用者改成root,操作的是root環境。即變更帳號為 root 並改變工作目錄至 root 的家目錄。
切換到使用者並取得該使用者的環境變數及執行權限。
[testuser@localhost ~]$ whoami testuser [testuser@localhost ~]$ pwd /home/testuser [testuser@localhost ~]$ su - root 密码: [root@localhost ~]# whoami root [root@localhost ~]# pwd /root
#注意,使用su 命令時,有- 和沒有- 是完全不同的,- 選項表示在切換使用者身分的同時,連目前使用的環境變數也切換成指定使用者的。我們知道,環境變數是用來定義作業系統環境的,因此如果系統環境沒有隨使用者身分切換,很多指令無法正確執行。
舉個例子,普通用戶lamp 透過su 指令切換成root 用戶,但沒有使用- 選項,這樣情況下,雖然看似是root 用戶,但係統中的$PATH 環境變數依然是lamp 的(而不是root 的),因此當前工作環境中,並不包含/sbin、/usr/sbin等超級用戶命令的保存路徑,這就導致很多管理員命令根本無法使用。不僅如此,當 root 使用者接受郵件時,會發現收到的是 lamp 使用者的郵件,因為環境變數 $MAIL 也沒有切換。初學者可以這樣理解它們之間的區別,即有- 選項,切換用戶身份更徹底;反之,只切換了一部分,這會導致某些命令運行出現問題或錯誤(例如無法使用service 指令)。
可以看到,在不使用su - 的情況下,雖然用戶身份成功切換,但環境變數依舊用的是原用戶的,切換並不完整。 相關推薦:《透過下面這個例子,可直觀的看到su 和su - 的區別:
[lamp@localhost ~]$ whoami lamp #查询用户身份,我是lamp [lamp@localhost ~]$ su root 密码: <-输入root密码 #切换到root,但是没有切换环境变量。注意:普通用户切换到root需要密码 [root@localhost ~]# env | grep lamp #查看环境变量,提取包含lamp的行 USER=lamp #用户名还是lamp,而不是root PATH=/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/lamp/bin #命令査找的路径不包含超级用户路径 MAIL=/var/spool/mail/lamp PWD=/home/lamp LOGNAME=lamp #邮箱、主目录、目前用户名还是lamp
Linux影片教學
》以上是linux su密碼是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!