您好,登錄后才能下訂單哦!
前幾天,在一次項目中,犯了一個很低級的錯誤,但是沒弄明白是什么問題。情況是這樣的,我們在做災備,重啟系統化,以root用戶權限,通過 su oracle ,進去后,oracle的rac 無法正常啟動,我沒細看,一直在找其他的原因,最后經過同事提醒,說應該執行 su - oracle。果然如他所說,進去后正常啟動。
今天忽然想起,又仔細查看了資料,做個筆記,備忘。也提醒自己注意細節。
su - root is the same as su -
just like login as root, then the shell is login shell,
which mean it will expericene a login process,
usually .bash_profile and .bashrc will be sourced
su root is the same as su
like you open an interactive shell in root name,
then only .bashrc will be sourced.
su 后面不加用戶是默認切到 root
su 是不改變當前變量
su - 是改變為切換到用戶的變量
也就是說su只能獲得root的執行權限,不能獲得環境變量
而su -是切換到root并獲得root的環境變量及執行權限
語法:
$ su [user_name]
su 命令可以用來交互地更改你的用戶ID和組ID。 Su是switch user 或set user id的一個縮寫。這個命令讓你開啟一個子進程,成為新的用戶 ID 和賦予你存取與這個用戶ID 關聯所有文件的存取權限。因此,出于安全的考慮,你在實際轉換身份時,會被要求輸入這個用戶帳號的密碼。
如果沒有參數,su 命令將你轉換為 root(系統管理員)。root 帳號有時也被稱為超級用戶,因為這個用戶可以存取系統中的任何文件。也正是這個原因,許多人將su命令看成是 supper-user(超級用戶)的一個縮寫。當然,你必須要提供 root密碼。 想要回到你原先的用戶身份,不要再使用 su 命令,你只需要使用 exit命令退出你使用su命令而生成的新的對話進程。
$ su – username
一些配置文件是為你的對話線索而設立的。當你使用命令 su username時,你的對話特征和你原始的登錄身份一樣。如果你想要你的對話進程擁有轉換后的用戶 ID一致的特征,你要使用短斜杠: su – username。
u - root 是切換到root賬號使用,使用的是root用戶的環境變量;
su root 則是取得root的特權,以root的身份執行程序,但保留原來用戶環境。
說明:有些命令即使你使用su root切換到root用戶,仍無法執行,所以切換到root用戶時,建議使用su - root。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。