01.31 Ubuntu 中的 root 用戶:你應該知道的重要事情

Ubuntu 中的 root 用戶:你應該知道的重要事情

當你剛開始使用 Linux 時,你將發現與 Windows 的很多不同。其中一個“不同的東西”是 root 用戶的概念。-- Abhishek Prakash(作者)

當你剛開始使用 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 用戶一樣運行命令?

Ubuntu 中的 root 用戶:你應該知道的重要事情

Image Credit: xkcd


對於一些系統的特殊任務來說,你將需要 root 權限。例如。如果你想 通過命令行更新 Ubuntu ,你不能作為一個常規用戶運行該命令。它將給出權限被拒絕的錯誤。

<code>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)/<code>

那麼,你如何像 root 用戶一樣運行命令?簡單的答案是,在命令前添加 sudo,來像 root 用戶一樣運行。

<code>sudo apt update/<code>

Ubuntu 和很多其它的 Linux 發行版使用一個被稱為 sudo 的特殊程序機制。sudo 是一個以 root 用戶(或其它用戶)來控制運行命令訪問的程序。

實際上,sudo 是一個非常多用途的工具。它可以配置為允許一個用戶像 root 用戶一樣來運行所有的命令,或者僅僅一些命令。你也可以配置為無需密碼即可使用 sudo 運行命令。這個主題內容比較豐富,也許我將在另一篇文章中詳細討論它。

就目前而言,你應該知道 當你安裝 Ubuntu 時 ,你必須創建一個用戶賬號。這個用戶賬號在你係統上以管理員身份來工作,並且按照 Ubuntu 中的默認 sudo 策略,它可以在你的系統上使用 root 用戶權限來運行任何命令。

sudo 的問題是,運行 sudo 不需要 root 用戶密碼,而是需要用戶自己的密碼

並且這就是為什麼當你使用 sudo 運行一個命令,會要求輸入正在運行 sudo 命令的用戶的密碼的原因:

<code>[email protected]:~$ sudo apt update
[sudo] password for abhishek:/<code>

正如你在上面示例中所見 abhishek 在嘗試使用 sudo 來運行 apt update 命令,系統要求輸入 abhishek 的密碼。

如果你對 Linux 完全不熟悉,當你在終端中開始輸入密碼時,你可能會驚訝,在屏幕上什麼都沒有發生。這是十分正常的,因為作為默認的安全功能,在屏幕上什麼都不會顯示。甚至星號(*)都沒有。輸入你的密碼並按回車鍵。

要點:為在 Ubuntu 中像 root 用戶一樣運行命令,在命令前添加 sudo。 當被要求輸入密碼時,輸入你的賬戶的密碼。當你在屏幕上輸入密碼時,什麼都看不到。請繼續輸入密碼,並按回車鍵。

如何在 Ubuntu 中成為 root 用戶?

你可以使用 sudo 來像 root 用戶一樣運行命令。但是,在某些情況下,你必須以 root 用戶身份來運行一些命令,而你總是忘了在命令前添加 sudo,那麼你可以臨時切換為 root 用戶。

sudo 命令允許你來模擬一個 root 用戶登錄的 shell ,使用這個命令:

<code>sudo -i/<code>
<code>[email protected]:~$ sudo -i
[sudo] password for abhishek:
[email protected]:~# whoami
root
/<code>

你將注意到,當你切換為 root 用戶時,shell 命令提示符從 $(美元符號)更改為 #(英鎊符號)。我開個(拙劣的)玩笑,英鎊比美元強大。

雖然我已經向你顯示如何成為 root 用戶,但是我必須警告你,你應該避免作為 root 用戶使用系統。畢竟它有阻攔你使用 root 用戶的原因。

另外一種臨時切換為 root 用戶的方法是使用 su 命令:

<code>sudo su/<code>

如果你嘗試使用不帶有的 sudo 的 su 命令,你將遇到 “su authentication failure” 錯誤。

你可以使用 exit 命令來恢復為正常用戶。

<code>exit/<code>

如何在 Ubuntu 中啟用 root 用戶?

現在你知道,root 用戶在基於 Ubuntu 發行版中是默認鎖定的。

Linux 給予你在系統上想做什麼就做什麼的自由。解鎖 root 用戶就是這些自由之一。

如果出於某些原因,你決定啟用 root 用戶,你可以通過為其設置一個密碼來做到:

<code>sudo passwd root/<code>

再強調一次,不建議使用 root 用戶,並且我也不鼓勵你在桌面上這樣做。如果你忘記了密碼,你將不能再次 在 Ubuntu 中更改 root 用戶密碼 。(LCTT 譯註:可以通過單用戶模式修改。)

你可以通過移除密碼來再次鎖定 root 用戶:

<code>sudo passwd -dl root/<code>

最後…

我希望你現在對 root 概念理解得更好一點。如果你仍然有些關於它的困惑和問題,請在評論中讓我知道。我將嘗試回答你的問題,並且也可能更新這篇文章。


via: https://itsfoss.com/root-user-ubuntu/

作者: Abhishek Prakash 選題: lujun9972 譯者: robsean 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: