Ubuntu 中的 root 用戶:你應該知道的重要事情
當你剛開始使用 Linux 時,你將發現與 Windows 的很多不同。其中一個「不同的東西」是 root 用戶的概念。
在這個初學者系列中,我將解釋幾個關於 Ubuntu 的 root 用戶的重要的東西。
請記住,儘管我正在從 Ubuntu 用戶的角度編寫這篇文章,它應該對大多數的 Linux 發行版也是有效的。
你將在這篇文章中學到下面的內容:
- 為什麼在 Ubuntu 中禁用 root 用戶
- 像 root 用戶一樣使用命
- 切換為 root 用戶
- 解鎖 root 用戶
什麼是 root 用戶?為什麼它在 Ubuntu 中被鎖定?
在 Linux 中,有一個稱為 root 的超級用戶。這是超級管理員賬號,它可以做任何事以及使用系統的一切東西。它可以在你的 Linux 系統上訪問任何文件和運行任何命令。
能力越大,責任越大。root 用戶給予你完全控制系統的能力,因此,它應該被謹慎地使用。root 用戶可以訪問系統文件,運行更改系統配置的命令。因此,一個錯誤的命令可能會破壞系統。
這就是為什麼 Ubuntu 和其它基於 Ubuntu 的發行版默認鎖定 root 用戶,以從意外的災難中挽救你的原因。
對於你的日常任務,像移動你家目錄中的文件,從互聯網下載文件,創建文檔等等,你不需要擁有 root 許可權。
打個比方來更好地理解它。假設你想要切一個水果,你可以使用一把廚房用刀。假設你想要砍一顆樹,你就得使用一把鋸子。現在,你可以使用鋸子來切水果,但是那不明智,不是嗎?_
這意味著,你不能是 Ubuntu 中 root 用戶或者不能使用 root 許可權來使用系統嗎?不,你仍然可以在 sudo
的幫助下來擁有 root 許可權來訪問(在下一節中解釋)。
要點: 使用於常規任務,root 用戶許可權太過強大。這就是為什麼不建議一直使用 root 用戶。你仍然可以使用 root 用戶來運行特殊的命令。
如何在 Ubuntu 中像 root 用戶一樣運行命令?
對於一些系統的特殊任務來說,你將需要 root 許可權。例如。如果你想通過命令行更新 Ubuntu,你不能作為一個常規用戶運行該命令。它將給出許可權被拒絕的錯誤。
apt update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
那麼,你如何像 root 用戶一樣運行命令?簡單的答案是,在命令前添加 sudo
,來像 root 用戶一樣運行。
sudo apt update
Ubuntu 和很多其它的 Linux 發行版使用一個被稱為 sudo
的特殊程序機制。sudo
是一個以 root 用戶(或其它用戶)來控制運行命令訪問的程序。
實際上,sudo
是一個非常多用途的工具。它可以配置為允許一個用戶像 root 用戶一樣來運行所有的命令,或者僅僅一些命令。你也可以配置為無需密碼即可使用 sudo 運行命令。這個主題內容比較豐富,也許我將在另一篇文章中詳細討論它。
就目前而言,你應該知道當你安裝 Ubuntu 時,你必須創建一個用戶賬號。這個用戶賬號在你系統上以管理員身份來工作,並且按照 Ubuntu 中的默認 sudo 策略,它可以在你的系統上使用 root 用戶許可權來運行任何命令。
sudo
的問題是,運行 sudo 不需要 root 用戶密碼,而是需要用戶自己的密碼。
並且這就是為什麼當你使用 sudo
運行一個命令,會要求輸入正在運行 sudo
命令的用戶的密碼的原因:
[email protected]:~$ sudo apt update
[sudo] password for abhishek:
正如你在上面示例中所見 abhishek
在嘗試使用 sudo
來運行 apt update
命令,系統要求輸入 abhishek
的密碼。
如果你對 Linux 完全不熟悉,當你在終端中開始輸入密碼時,你可能會驚訝,在屏幕上什麼都沒有發生。這是十分正常的,因為作為默認的安全功能,在屏幕上什麼都不會顯示。甚至星號(*
)都沒有。輸入你的密碼並按回車鍵。
要點:為在 Ubuntu 中像 root 用戶一樣運行命令,在命令前添加
sudo
。 當被要求輸入密碼時,輸入你的賬戶的密碼。當你在屏幕上輸入密碼時,什麼都看不到。請繼續輸入密碼,並按回車鍵。
如何在 Ubuntu 中成為 root 用戶?
你可以使用 sudo
來像 root 用戶一樣運行命令。但是,在某些情況下,你必須以 root 用戶身份來運行一些命令,而你總是忘了在命令前添加 sudo
,那麼你可以臨時切換為 root 用戶。
sudo
命令允許你來模擬一個 root 用戶登錄的 shell ,使用這個命令:
sudo -i
[email protected]:~$ sudo -i
[sudo] password for abhishek:
[email protected]:~# whoami
root
你將注意到,當你切換為 root 用戶時,shell 命令提示符從 $
(美元符號)更改為 #
(英鎊符號)。我開個(拙劣的)玩笑,英鎊比美元強大。
雖然我已經向你顯示如何成為 root 用戶,但是我必須警告你,你應該避免作為 root 用戶使用系統。畢竟它有阻攔你使用 root 用戶的原因。
另外一種臨時切換為 root 用戶的方法是使用 su
命令:
sudo su
如果你嘗試使用不帶有的 sudo
的 su
命令,你將遇到 「su authentication failure」 錯誤。
你可以使用 exit
命令來恢復為正常用戶。
exit
如何在 Ubuntu 中啟用 root 用戶?
現在你知道,root 用戶在基於 Ubuntu 發行版中是默認鎖定的。
Linux 給予你在系統上想做什麼就做什麼的自由。解鎖 root 用戶就是這些自由之一。
如果出於某些原因,你決定啟用 root 用戶,你可以通過為其設置一個密碼來做到:
sudo passwd root
再強調一次,不建議使用 root 用戶,並且我也不鼓勵你在桌面上這樣做。如果你忘記了密碼,你將不能再次在 Ubuntu 中更改 root 用戶密碼。(LCTT 譯註:可以通過單用戶模式修改。)
你可以通過移除密碼來再次鎖定 root 用戶:
sudo passwd -dl root
最後…
我希望你現在對 root 概念理解得更好一點。如果你仍然有些關於它的困惑和問題,請在評論中讓我知道。我將嘗試回答你的問題,並且也可能更新這篇文章。
via: https://itsfoss.com/root-user-ubuntu/
作者:Abhishek Prakash 選題:lujun9972 譯者:robsean 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive