Ubuntu默認不能直接用root帳戶登錄,必須從第一個創建的用戶(既安裝時創建的那個用戶)通過su或sudo來獲得root權限。在Ubuntu中對系統進行操作很多時候都要使用這個命令,由此可見對於新來說很有必要來認識這個命令。這或許不太方便,但這樣增加了安全性,避免用戶由於誤操作而損壞系統。
一、 sudo(Super User Do)
sudo + 某些直接運行提示無權限的命令。sudo即為Super user do的意思
解釋
- 不是所有命令都能用sudo執行的,比如 cd 命令前不能用sudo。
- 在第一次用sudo運行命令時會提示輸入當前用戶的密碼,在當前終端再次使用sudo時不需要再次輸入密碼。
- sudo的作用是在確認當前用戶是本人(輸入過當前用戶的密碼)情況下暫時將root權限借用給當前用戶,會有日志記錄用戶輸入的命令等信息。
- sudo的配置文件為 “/etc/sudoers”,若想修改配置文件應用 sudo visudo -f /etc/sudoers 來修改,因為sudo的配置文件有嚴格的語法格式,用visudo可以在退出時檢查語法,有錯誤時會提示。
常用選項
- -l(小寫的L) : 察看當前用戶使用sudo可以運行的命令,並不是在每台機器上都能用sudo使用所有需要權限的命令。
- -V : 察看本機sudo的版本。
- -k : 強制用戶下次使用sudo時輸入密碼。
舉例
1、ubuntu修改root密碼: sudo passwd 或者 sudo passwd root
2、普通用戶如果想更改自己的密碼,直接運行 passwd 即可
3、清除密碼: passwd –d
二、 su(Switch User)
su [username] ( 不輸入時一般默認為root )
解釋
- su只能用來切換用戶,提示輸入的不是當前用戶的密碼,而是輸入欲切換到的用戶的密碼,默認輸入該用戶密碼后取得該用戶的權限。
- 在剛安好的系統中root的密碼是隨機的,需要輸入passwd按照提示改變root的密碼。以后也可以通過該命令更改root密碼。輸入root密碼后命令頭會變成root@當前用戶名。此時輸入exit即可退出root賬戶。
- root賬戶狀態下使用su切換到低權限用戶時不需要輸入密碼,同樣輸入exit可以退回至root賬戶。
常用選項
- -c/--command + [賬戶名(缺省一般為root)] [命令] :以該賬戶名執行輸入的命令,執行完畢切換回原來的賬戶。
- -/-l/-login :切換賬戶后自動更新環境變量與切換到的用戶相同。
- -h :獲取su的詳細解釋。
舉例
1、切換到到root用戶: su 或 su root
2、切換回當前用戶 : su 用戶