歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux中su的使用說明

1、su和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    (切換到超級用戶目錄)

2、如果在一個root用戶執行的sh腳本中,部分地方需要使用其它用戶執行命令,采用如下方式

/bin/su - 切換的用戶 -c "執行的命令"

Copyright © Linux教程網 All Rights Reserved