linux切換用戶的命令是“su”,該命令可以實現(xiàn)任何身份的切換,包括從普通用戶切換為root用戶、從root用戶切換為普通用戶以及普通用戶之間的切換;語法格式為“su [選項] 用戶名”。
本教程操作環(huán)境:CentOS 6系統(tǒng)、Dell G3電腦。
linux切換用戶的命令是“su”。
u 是最簡單的用戶切換命令,通過該命令可以實現(xiàn)任何身份的切換,包括從普通用戶切換為 root 用戶、從 root 用戶切換為普通用戶以及普通用戶之間的切換。
普通用戶之間切換以及普通用戶切換至 root 用戶,都需要知曉對方的密碼,只有正確輸入密碼,才能實現(xiàn)切換;從 root 用戶切換至其他用戶,無需知曉對方密碼,直接可切換成功。
su 命令的基本格式如下:
# su [選項] 用戶名
選項:
-
-
:當前用戶不僅切換為指定用戶的身份,同時所用的工作環(huán)境也切換為此用戶的環(huán)境(包括 PATH 變量、MAIL 變量等),使用 – 選項可省略用戶名,默認會切換為 root 用戶。 -
-l
:同 – 的使用類似,也就是在切換用戶身份的同時,完整切換工作環(huán)境,但后面需要添加欲切換的使用者賬號。 -
-p
:表示切換為指定用戶的身份,但不改變當前的工作環(huán)境(不使用切換用戶的配置文件)。 -
-m
:和 -p 一樣; -
-c
命令:僅切換用戶執(zhí)行一次命令,執(zhí)行后自動切換回來,該選項后通常會帶有要執(zhí)行的命令。
【例 1】
[lamp@localhost ~]$ su -root 密碼: <-- 輸入 root 用戶的密碼 #"-"代表連帶環(huán)境變量一起切換,不能省略
【例 2】
[lamp@localhost ~]$ whoami lamp #當前我是lamp [lamp@localhost ~]$ su - -c "useradd user1" root 密碼: #不切換成root,但是執(zhí)行useradd命令添加user1用戶 [lamp@localhost ~]$ whoami lamp #我還是lamp [lamp@localhost ~]$ grep "user1' /etc/passwd userl:x:502:504::/home/user1:/bin/bash #user用戶已經(jīng)添加了
除了像例 2 這樣,執(zhí)行一條命令后用戶身份會隨即自動切換回來,其他切換用戶的方式不會自動切換,只能使用 exit 命令進行手動切換,例如:
[lamp@localhost ~]$ whoami lamp #當前我是lamp [lamp@localhost ~]$ su - lamp1 Password: <--輸入lamp1用戶的密碼 #切換至 lamp1 用戶的工作環(huán)境 [lamp@localhost ~]$ whoami lamp1 #什么也不做,立即退出切換環(huán)境 [lamp1@localhost ~]$ exit logout [lamp@localhost ~]$ whoami lamp
su
和 su -
的區(qū)別
注意,使用 su 命令時,有 – 和沒有 – 是完全不同的,- 選項表示在切換用戶身份的同時,連當前使用的環(huán)境變量也切換成指定用戶的。我們知道,環(huán)境變量是用來定義操作系統(tǒng)環(huán)境的,因此如果系統(tǒng)環(huán)境沒有隨用戶身份切換,很多命令無法正確執(zhí)行。