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