## **[su命令詳解]**
**這個命令非常重要,它可以使一個一般用戶擁有超級用戶或其他用戶的權限,也可以使超級用戶以一般用戶的身分做些事情。但一般用戶使用該命令時必須有超級用戶或其他用戶的口令。
如果沒有參數,su 命令將你轉換為 root(系統管理員)。
root 帳號有時也被稱為超級用戶,因為這個用戶可以存取系統中的任何文件,甚至刪除系統。
也正是這個原因,許多人將su命令看成是 supper-user(超級用戶)的一個縮寫。當然,你必須要提供 root密碼。
想要回到你原先的用戶身份,不要再使用 su 命令,你只需要使用 exit命令退出你
使用su命令而生成的新的對話進程。**
**1.作用**
`su`的作用是變更為其它使用者的身份,需要鍵入該使用者的密碼(超級用戶除外)。
**2.格式**
`su [選項]… [-] [USER [ARG]…]`
**3.主要參數**
-f , –fast:不必讀啟動文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , –login:加了這個參數之后,就似乎是重新登陸為該使用者一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。假如沒有指定USER,缺省情況是root。
-m, -p ,–preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,并執行指令(command)后再變回原來使用者。
USER:欲變更的使用者賬號,ARG傳入新的Shell參數。
**4.應用實例**
可以為接下來的一個命令,臨時變更賬號為超級用戶,并在執行`df`命令后還原使用者:
`su -c df root`
**[sudo 命令詳解]**
1. 功能說明:以其他身份來執行指令。
2. 語 法:`sudo [-bhHpV][-s ][-u <用戶>][指令] 或 sudo [-klv]`
3. 補充說明:sudo可讓用戶以其他的身份來執行指定的指令,預設的身份為root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之后有5分鐘的有效期限,超過期限則必須重新輸入密碼。
4. 參 數:
-b 在后臺執行指令。
-h 顯示幫助。
-H 將HOME環境變量設為新身份的HOME環境變量。
-k 結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼。
-l 列出目前用戶可執行與無法執行的指令。
-p 改變詢問密碼的提示符號。
-s 執行指定的shell。
-u<用戶> 以指定的用戶作為新的身份。若不加上此參數,則預設以root作為新的身份。
-v 延長密碼有效期限5分鐘。
-V 顯示版本信息。