Linux su命令
Linux su命令用於變更為其他使用者的身份,除 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 並傳入 -f 參數給新執行的 shell
su root -f
變更帳號為 clsung 並改變工作目錄至 clsung 的家目錄(home dir)
su - clsung
切換用戶
hnlinux@xuhuhu.com:~$ whoami //顯示當前用戶 hnlinux hnlinux@xuhuhu.com:~$ pwd //顯示當前目錄 /home/hnlinux hnlinux@xuhuhu.com:~$ su root //切換到root用戶 密碼: root@xuhuhu.com:/home/hnlinux# whoami root root@xuhuhu.com:/home/hnlinux# pwd /home/hnlinux
切換用戶,改變環境變數
hnlinux@xuhuhu.com:~$ whoami //顯示當前用戶 hnlinux hnlinux@xuhuhu.com:~$ pwd //顯示當前目錄 /home/hnlinux hnlinux@xuhuhu.com:~$ su - root //切換到root用戶 密碼: root@xuhuhu.com:/home/hnlinux# whoami root root@xuhuhu.com:/home/hnlinux# pwd //顯示當前目錄 /root