最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Linux 中 root 與 sudo 的用法與區(qū)別,居然這么多人搞不清楚!

2023-07-12 11:30 作者:無力取鬧的小浣熊  | 我要投稿

Linux 下面有兩個概念可能大家接觸的比較多,一個是 sudo 命令,還有一個是 root 賬戶。Sudo?命令可以以最高權(quán)限執(zhí)行命令,而 root 賬戶下所有命令都有最高權(quán)限,也就是相當(dāng)于所有命令都默認加了 sudo。

那么?sudo 和 root 的區(qū)別到底是什么呢,為什么我們建議使用 sudo 而不是直接使用 root 賬戶?在本教程中,您將了解 root 訪問、sudo 命令、如何使用 sudo 運行命令以及 sudo 訪問和 root 之間的區(qū)別。

什么是 root?

root 是指 Linux 等類 Unix 系統(tǒng)中的超級用戶帳戶。它是用于系統(tǒng)管理的系統(tǒng)上具有最高訪問權(quán)限的特權(quán)帳戶。此根/超級用戶帳戶的用戶標(biāo)識符 (UID) 為零,無論帳戶名稱如何。

root 用戶擁有整個系統(tǒng)的完全權(quán)限(root 特權(quán))。它可以做諸如修改系統(tǒng)的核心部分、升級系統(tǒng)、更改系統(tǒng)配置以及啟動、停止和重新啟動所有正在運行的系統(tǒng)服務(wù)之類的事情。

以 root 身份登錄(使用 su -)時,終端命令提示符符號從

$?echo?'You?are?in?a?normal?shell'

變成

#?echo?'This?is?a?root?shell'

在某些系統(tǒng)(如 Ubuntu)上,root 用戶默認被鎖定。(備注:搬瓦工并不會鎖定,但是騰訊云默認會鎖定)。

什么是 Sudo?

sudo?(superuser do) 命令是一個命令行實用程序,它允許用戶以 root 或其他用戶身份執(zhí)行命令。它提供了一種有效的方式來授予某些用戶適當(dāng)?shù)臋?quán)限以使用特定的系統(tǒng)命令或以 root 用戶身份運行腳本。

雖然有點類似于 su 命令,但?sudo?的不同之處在于它默認需要用戶的密碼進行身份驗證,而不是 su 需要的目標(biāo)用戶的密碼。Sudo 也不會產(chǎn)生 root shell;相反,它以提升的權(quán)限運行程序或命令,不像 su,它產(chǎn)生一個 root shell。

使用 sudo,系統(tǒng)管理員可以執(zhí)行以下操作:

  • 授予用戶或用戶組以提升或 root 權(quán)限運行某些命令的能力。

  • 查看每個使用 sudo 的用戶的用戶 ID 的日志。

  • 控制用戶可以在主機系統(tǒng)上使用什么命令。

Sudo 會記錄在 /var/log/auth.log 文件中執(zhí)行的所有命令和參數(shù)的日志,可以在出現(xiàn)故障時進行分析。

sudoers 文件

sudo 使用默認的 sudoers 安全策略,并保留一個特殊的配置文件 /etc/sudoers。該文件可用于控制訪問權(quán)限和密碼提示超時。

注意:您必須具有提升的權(quán)限才能查看 sudoers 文件

打開 /etc/sudoers 文件;它應(yīng)該是這樣的:

#?This?file?MUST?be?edited?with?the?'visudo'?command?as?root.
#
#?Please?consider?adding?local?content?in?/etc/sudoers.d/?instead?of
#?directly?modifying?this?file.
#
#?See?the?man?page?for?details?on?how?to?write?a?sudoers?file.
#
Defaults????????env_reset
Defaults????????mail_badpass
Defaults????????secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
sbin:/bin"
#?Host?alias?specification
#?User?alias?specification
#?Cmnd?alias?specification
#?User?privilege?specification
root????ALL=(ALL:ALL)?ALL
#?Allow?members?of?group?sudo?to?execute?any?command
%sudo???ALL=(ALL:ALL)?ALL
#?See?sudoers(5)?for?more?information?on?"@include"?directives:
@includedir?/etc/sudoers.d

其中這行:

root?????????ALL=(ALL:ALL)ALL

意味著 root 用戶擁有無限的權(quán)限并且能夠在系統(tǒng)上運行任何命令。

%sudo?ALL=(ALL:ALL)ALL

允許組 sudo 的所有成員執(zhí)行任何命令。

注意:sudoers 文件中的 ‘%’ 代表一個組,而不是注釋。

從 /etc/sudoers 文件的第一行可以看出:

#?This?file?MUST?be?edited?with?the?'visudo'?command?as?root

不要嘗試直接編輯 sudoers 文件。使用具有 root 權(quán)限的 visudo 命令。

使用 sudo 運行命令很簡單,只需要在命令前面加上 sudo 即可:

$?sudo?command

一般來說會提示輸入密碼,輸入密碼后回車即可。

$?sudo?command
[sudo]??password?for?user:

Sudo 對比 Root

最小權(quán)限原則是一種信息和計算機安全概念,它認為授予程序和用戶執(zhí)行任務(wù)所需的最少或最低限度的權(quán)限。

以 root 用戶登錄后,輸入到終端的每一條命令都以系統(tǒng)最高權(quán)限運行,違反了最小權(quán)限原則。像 rm 這樣的簡單命令可用于刪除核心根目錄或文件,而不會在意外時提示用戶。例如,如果您嘗試使用以下命令刪除 /etc 之類的根目錄:

$?rm?-rf?/etc

當(dāng)您以普通用戶身份登錄時,您將被拒絕許可。當(dāng)以 root 身份登錄時,不會顯示任何提示,并且整個文件夾將被刪除 – 這很可能會破壞您的系統(tǒng),因為運行系統(tǒng)所需的特殊配置文件存儲在 /etc 目錄中。您也可能最終錯誤地格式化磁盤,并且系統(tǒng)不會提示您。

此缺陷還擴展到以 root 身份運行代碼或應(yīng)用程序;應(yīng)用程序中的一個小錯誤可能會刪除一些系統(tǒng)文件,因為該應(yīng)用程序是在最高權(quán)限下運行的。

Sudo 提供細粒度的訪問控制。它僅向需要它的特定程序授予提升的權(quán)限。您知道哪個程序以提升的權(quán)限運行,而不是使用 root shell(以 root 權(quán)限運行每個命令)。

Sudo 也可以配置為以另一個用戶身份運行命令,指定允許哪些用戶和組使用 sudo 運行命令,或者通過編輯 sudoers 文件設(shè)置以 root 權(quán)限運行程序的超時。

因此,不建議使用 root shell 運行命令,因為您破壞系統(tǒng)的機會要高得多。如果您需要更高權(quán)限或 root 權(quán)限來運行命令,請使用 sudo 確保只有該命令以 root 權(quán)限運行。


Linux 中 root 與 sudo 的用法與區(qū)別,居然這么多人搞不清楚!的評論 (共 條)

分享到微博請遵守國家法律
贡山| 余姚市| 尚志市| 新和县| 扎赉特旗| 宝应县| 平舆县| 临海市| 永州市| 义乌市| 棋牌| 屏东市| 瓮安县| 漾濞| 通州市| 永丰县| 永宁县| 电白县| 岗巴县| 惠州市| 清涧县| 扎鲁特旗| 冕宁县| 柘荣县| 科尔| 垫江县| 崇仁县| 峡江县| 康马县| 马尔康县| 青神县| 英吉沙县| 麦盖提县| 城口县| 都江堰市| 周宁县| 宝兴县| 祁东县| 长武县| 桦甸市| 苗栗县|