Linux su命令——su默認不修改環境變量 su - 要修改當前工作目錄和環境變量


Linux su命令

 

    在我的fc6系統下用普通用戶登錄,然后用su命令切換到超級用戶,再輸入ifconfig命令,報錯:command not find。而如果用su -命令切換到超級用戶,再輸入ifconfig命令則能成功執行。這其中涉及的就是su命令與su -命令的區別,man su得到的幫助文檔如下:
       -, -l, --login
              make the shell a login shell
     翻譯過來的意思如下:
-.-l或--login  改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變量。


   說簡單點就是用su命令不會改變當前工作目錄以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變量,而用su -命令則默認改變成root用戶了。打個比方:
在普通用戶下輸入:
$pwd
/home/mgqw (當前用戶目錄)
$su
******        (輸入密碼)
#pwd         (再次查看路徑)
/home/mgqw   (還是當前用戶目錄)

但是如果換成su -的話結果如下:
$pwd
/home/mgqw (當前用戶目錄)
$su -
******        (輸入密碼)
#pwd         (再次查看路徑)
/root    (切換到超級用戶目錄)

Linux 命令大全 Linux 命令大全

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@runoob.com:~$ whoami //顯示當前用戶 hnlinux hnlinux@runoob.com:~$ pwd //顯示當前目錄 /home/hnlinux hnlinux@runoob.com:~$ su root //切換到root用戶 密碼: root@runoob.com:/home/hnlinux# whoami  root root@runoob.com:/home/hnlinux# pwd /home/hnlinux

切換用戶,改變環境變量

hnlinux@runoob.com:~$ whoami //顯示當前用戶 hnlinux hnlinux@runoob.com:~$ pwd //顯示當前目錄 /home/hnlinux hnlinux@runoob.com:~$ su - root //切換到root用戶 密碼: root@runoob.com:/home/hnlinux# whoami  root root@runoob.com:/home/hnlinux# pwd //顯示當前目錄 /root


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM