linux中權限最大的賬戶是“root”。Root(根用戶)是超級管理員賬號,因其可對根目錄執(zhí)行讀寫和執(zhí)行操作而得名;它可以做任何事以及使用系統(tǒng)的一切東西、可以在Linux系統(tǒng)上訪問任何文件和運行任何命令。root具有系統(tǒng)所有的權限,如果root密碼泄漏,就會導致整臺計算機上所有用戶的數(shù)據(jù)被完全竊取。
Linux系統(tǒng)運維及項目正式上線:進入學習
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中權限最大的賬戶是“root”。
Root,也稱為根用戶,是Unix(如Solaris、AIX、BSD)和類UNIX系統(tǒng)(如Linux、QNX等),及Android和iOS移動設備系統(tǒng)中的唯一的超級用戶,因其可對根目錄執(zhí)行讀寫和執(zhí)行操作而得名。
Root是超級管理員賬號,它可以做任何事以及使用系統(tǒng)的一切東西。它可以在你的 Linux 系統(tǒng)上訪問任何文件和運行任何命令。
能力越大,責任越大。root 用戶給予你完全控制系統(tǒng)的能力,因此,它應該被謹慎地使用。root 用戶可以訪問系統(tǒng)文件,運行更改系統(tǒng)配置的命令。因此,一個錯誤的命令可能會破壞系統(tǒng)。
root具有系統(tǒng)所有的權限,root密碼如果泄漏,足以導致整臺計算機完全被竊取root密碼的人所控制,擁有root密碼就意味著擁有了這臺計算機上所有用戶的所有數(shù)據(jù)。
這就是為什么 Ubuntu 和其它基于 Ubuntu 的發(fā)行版默認鎖定 root 用戶,以從意外的災難中挽救你的原因。
對于你的日常任務,像移動你家目錄中的文件,從互聯(lián)網(wǎng)下載文件,創(chuàng)建文檔等等,你不需要擁有 root 權限。
打個比方來更好地理解它。假設你想要切一個水果,你可以使用一把廚房用刀。假設你想要砍一顆樹,你就得使用一把鋸子。現(xiàn)在,你可以使用鋸子來切水果,但是那不明智,不是嗎?_
這意味著,你不能是 Ubuntu 中 root 用戶或者不能使用 root 權限來使用系統(tǒng)嗎?不,你仍然可以在 sudo 的幫助下來擁有 root 權限來訪問(在下一節(jié)中解釋)。
要點: 使用于常規(guī)任務,root 用戶權限太過強大。這就是為什么不建議一直使用 root 用戶。你仍然可以使用 root 用戶來運行特殊的命令。
如何在 Ubuntu 中像 root 用戶一樣運行命令?
對于一些系統(tǒng)的特殊任務來說,你將需要 root 權限。例如。如果你想通過命令行更新 Ubuntu,你不能作為一個常規(guī)用戶運行該命令。它將給出權限被拒絕的錯誤。
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 發(fā)行版使用一個被稱為 sudo 的特殊程序機制。sudo 是一個以 root 用戶(或其它用戶)來控制運行命令訪問的程序。
實際上,sudo 是一個非常多用途的工具。它可以配置為允許一個用戶像 root 用戶一樣來運行所有的命令,或者僅僅一些命令。你也可以配置為無需密碼即可使用 sudo 運行命令。這個主題內容比較豐富,也許我將在另一篇文章中詳細討論它。
就目前而言,你應該知道當你安裝 Ubuntu 時,你必須創(chuàng)建一個用戶賬號。這個用戶賬號在你系統(tǒng)上以管理員身份來工作,并且按照 Ubuntu 中的默認 sudo 策略,它可以在你的系統(tǒng)上使用 root 用戶權限來運行任何命令。
sudo 的問題是,運行 sudo 不需要 root 用戶密碼,而是需要用戶自己的密碼。
并且這就是為什么當你使用 sudo 運行一個命令,會要求輸入正在運行 sudo 命令的用戶的密碼的原因:
[email protected]:~$ sudo apt update [sudo] password for abhishek:
正如你在上面示例中所見 abhishek 在嘗試使用 sudo 來運行 apt update 命令,系統(tǒng)要求輸入 abhishek 的密碼。
如果你對 Linux 完全不熟悉,當你在終端中開始輸入密碼時,你可能會驚訝,在屏幕上什么都沒有發(fā)生。這是十分正常的,因為作為默認的安全功能,在屏幕上什么都不會顯示。甚至星號(*)都沒有。輸入你的密碼并按回車鍵。
要點:為在 Ubuntu 中像 root 用戶一樣運行命令,在命令前添加 sudo。 當被要求輸入密碼時,輸入你的賬戶的密碼。當你在屏幕上輸入密碼時,什么都看不到。請繼續(xù)輸入密碼,并按回車鍵。
如何在 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 命令提示符從 $(美元符號)更改為 #(英鎊符號)。我開個(拙劣的)玩笑,英鎊比美元強大。
雖然我已經(jīng)向你顯示如何成為 root 用戶,但是我必須警告你,你應該避免作為 root 用戶使用系統(tǒng)。畢竟它有阻攔你使用 root 用戶的原因。
另外一種臨時切換為 root 用戶的方法是使用 su 命令:
sudo su
如果你嘗試使用不帶有的 sudo 的 su 命令,你將遇到 “su authentication failure” 錯誤。
你可以使用 exit 命令來恢復為正常用戶。
exit
如何在 Ubuntu 中啟用 root 用戶?
現(xiàn)在你知道,root 用戶在基于 Ubuntu 發(fā)行版中是默認鎖定的。
Linux 給予你在系統(tǒng)上想做什么就做什么的自由。解鎖 root 用戶就是這些自由之一。
如果出于某些原因,你決定啟用 root 用戶,你可以通過為其設置一個密碼來做到:
sudo passwd root
再強調一次,不建議使用 root 用戶,并且我也不鼓勵你在桌面上這樣做。如果你忘記了密碼,你將不能再次在 Ubuntu 中更改 root 用戶密碼。(LCTT 譯注:可以通過單用戶模式修改。)
你可以通過移除密碼來再次鎖定 root 用戶:
sudo passwd -dl root