吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中root和sudo的用法與區(qū)別

dyquk4xk2p3d ? 來源:良許Linux ? 2023-03-29 09:17 ? 次閱讀

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

那么sudo 和 root 的區(qū)別到底是什么呢,為什么我們建議使用 sudo 而不是直接使用 root 賬戶?在本教程中,您將了解 root 訪問、sudo 命令、如何使用 sudo 運(yùn)行命令以及 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)配置以及啟動、停止和重新啟動所有正在運(yùn)行的系統(tǒng)服務(wù)之類的事情。

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

$echo'Youareinanormalshell'

變成

#echo'Thisisarootshell'

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

什么是 Sudo?

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

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

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

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

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

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

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

sudoers 文件

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

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

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

#ThisfileMUSTbeeditedwiththe'visudo'commandasroot.
#
#Pleaseconsideraddinglocalcontentin/etc/sudoers.d/insteadof
#directlymodifyingthisfile.
#
#Seethemanpagefordetailsonhowtowriteasudoersfile.
#
Defaultsenv_reset
Defaultsmail_badpass
Defaultssecure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
sbin:/bin"
#Hostaliasspecification
#Useraliasspecification
#Cmndaliasspecification
#Userprivilegespecification
rootALL=(ALL:ALL)ALL
#Allowmembersofgroupsudotoexecuteanycommand
%sudoALL=(ALL:ALL)ALL
#Seesudoers(5)formoreinformationon"@include"directives:
@includedir/etc/sudoers.d

其中這行:

rootALL=(ALL:ALL)ALL

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

%sudoALL=(ALL:ALL)ALL

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

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

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

#ThisfileMUSTbeeditedwiththe'visudo'commandasroot

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

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

$sudocommand

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

$sudocommand
[sudo]passwordforuser:

Sudo 對比 Root

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

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

$rm-rf/etc

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

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

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

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

因此,不建議使用 root shell 運(yùn)行命令,因?yàn)槟茐南到y(tǒng)的機(jī)會要高得多。如果您需要更高權(quán)限或 root 權(quán)限來運(yùn)行命令,請使用 sudo 確保只有該命令以 root 權(quán)限運(yùn)行。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210389
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    570

    瀏覽量

    24822
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    696

    瀏覽量

    22108
  • root
    +關(guān)注

    關(guān)注

    1

    文章

    86

    瀏覽量

    21417

原文標(biāo)題:Linux 中 root 與 sudo 的用法與區(qū)別,居然這么多人搞不清楚!

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何在Linux重置忘記的root密碼

    忘記了 Linux root 密碼?不用擔(dān)心!本文提供了簡單易懂的說明,可以安全地重置和修改 root 密碼。
    的頭像 發(fā)表于 12-04 14:51 ?2738次閱讀
    如何在<b class='flag-5'>Linux</b><b class='flag-5'>中</b>重置忘記的<b class='flag-5'>root</b>密碼

    若忘記了Linux系統(tǒng)的root密碼,該怎么辦?

    很多朋友經(jīng)常會忘記Linux系統(tǒng)的root密碼,linux系統(tǒng)忘記root密碼的情況該怎么辦呢?
    的頭像 發(fā)表于 10-15 16:49 ?1.3w次閱讀

    Linux 運(yùn)行 sudo 命令不需要密碼

    ) NOPASSWD: /bin/kill, /bin/rm不用密碼運(yùn)行 sudo在本篇,我們討論了如何配置 sudo 命令來不用輸入密碼運(yùn)行。不要忘記在評論欄給我們提供你關(guān)于這份
    發(fā)表于 04-02 14:48 ?1140次閱讀

    Linux易混淆命令的區(qū)別

    素材來源:Linuxsudo 與 su 兩個命令的最大區(qū)別是:sudo 命令需要輸入當(dāng)前用戶的密碼,su 命令需要輸入 root 用戶的
    的頭像 發(fā)表于 09-25 14:25 ?1827次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>易混淆命令的<b class='flag-5'>區(qū)別</b>

    sudo存在一個嚴(yán)重的漏洞:無需密碼就能獲取root權(quán)限

    “這可能是近期內(nèi)最需要重視的sudo漏洞。” 程序員都知道,一句sudo可以“為所欲為”。 ? 而現(xiàn)在,來自Qualys的安全研究人員發(fā)現(xiàn),sudo存在一個嚴(yán)重的漏洞: 任何本地用戶
    的頭像 發(fā)表于 02-02 11:14 ?3076次閱讀
    <b class='flag-5'>sudo</b><b class='flag-5'>中</b>存在一個嚴(yán)重的漏洞:無需密碼就能獲取<b class='flag-5'>root</b>權(quán)限

    蘋果macOS Sudo現(xiàn)重大漏洞:可為任意本地用戶授予root權(quán)限

    Sudo 工具存在十年之久的漏洞,可能會授予任意本地用戶對基于 Unix 的系統(tǒng)(包括 macOS Big Sur 和早期版本)進(jìn)行根訪問。 今年 1 月份,安全研究人員披露了一個新漏洞,該漏洞
    的頭像 發(fā)表于 02-04 09:20 ?1512次閱讀

    Linuxsu和sudo命令有什么區(qū)別

    ? 之前一直對 su 和 sudo 這兩個命令犯迷糊,最近專門搜了這方面的資料,總算是把兩者的關(guān)系以及用法搞清楚了,這篇文章來系統(tǒng)總結(jié)一下。 1. 準(zhǔn)備工作 因?yàn)楸酒┛?b class='flag-5'>中涉及到用戶切換,所以我需要
    的頭像 發(fā)表于 11-19 09:19 ?1629次閱讀

    如何使用sudo命令以及選項(xiàng)

    sudo命令允許您以其他用戶身份運(yùn)行命令與程序,默認(rèn)是root用戶。如果您是個命令行用戶,那么sudo是您將經(jīng)常使用的命令之一。
    的頭像 發(fā)表于 12-09 17:47 ?5162次閱讀

    值得考慮的4個最佳Linux sudo命令替代方案

    對于那些不喜歡 sudo 并覺得它臃腫的人,可以嘗試使用幾種 sudo 替代方法。 sudo 可能是最常用的 Linux 命令之一。它允許您在 Li
    的頭像 發(fā)表于 01-06 10:54 ?2192次閱讀

    linuxsu和sudo區(qū)別是什么

    前面的方法,我們都是先切換到另一個用戶(root 或者 test_user),在哪個用戶的狀態(tài)下執(zhí)行命令,最后輸入 exit 返回當(dāng)前 ubuntu 用戶。
    發(fā)表于 08-02 09:32 ?283次閱讀

    Linux命令su和sudo區(qū)別

    Linux 系統(tǒng),有兩個常用的命令用于切換用戶身份和執(zhí)行特權(quán)操作,它們分別是 su 和 sudo。雖然它們都可以實(shí)現(xiàn)權(quán)限提升,但在使用方式、安全性和適用場景等方面存在一些區(qū)別。本
    發(fā)表于 08-14 14:14 ?328次閱讀

    首個Rust版sudo發(fā)布!

    sudo-rs項(xiàng)目則是用 Rust 編寫的 sudo 和 su 的、面向安全和內(nèi)存安全的實(shí)現(xiàn)。官網(wǎng)聲明顯示,sudo-rs 目前僅針對基于 Lin
    的頭像 發(fā)表于 09-01 15:59 ?859次閱讀
    首個Rust版<b class='flag-5'>sudo</b>發(fā)布!

    什么是sudo rm -rf?為什么這個命令如此危險?

    sudo rm -rf 是一個linux的命令行命令,用于在系統(tǒng)刪除文件和目錄。sudo表示以管理員權(quán)限運(yùn)行該命令。
    的頭像 發(fā)表于 10-24 18:25 ?3328次閱讀

    su與sudo命令介紹及主要用法

    大家在自己實(shí)驗(yàn)服務(wù)器上可能不會用到su與sudo命令,因?yàn)橐恢庇弥?b class='flag-5'>root用戶進(jìn)行操作。
    的頭像 發(fā)表于 11-27 09:31 ?1244次閱讀

    禁止使用root用戶通過ssh遠(yuǎn)程登錄Linux

    1、背景描述 出于安全考慮,需要禁止使用root用戶通過ssh遠(yuǎn)程登錄Linux 禁用root用戶遠(yuǎn)程登錄后,需要提供一個權(quán)限用戶用于ssh遠(yuǎn)程登錄 2、創(chuàng)建擁有sudo權(quán)限的用戶 2
    的頭像 發(fā)表于 12-21 16:25 ?518次閱讀
    禁止使用<b class='flag-5'>root</b>用戶通過ssh遠(yuǎn)程登錄<b class='flag-5'>Linux</b>
    湖南省| 百家乐二代皇冠博彩| 威尼斯人娱乐老牌网站| 百家乐官网哪家信誉好| 百家乐赌机凤凰软件| 水富县| 网上百家乐官方网站| 必博备用| 百家乐真人娱乐注册| 六合彩走势图| 葡京百家乐技巧| 临武县| 百家乐l23| 百家乐官网游戏怎样玩| 真人百家乐国际第一品牌| 百家乐官网中B是什么| 百家乐二代理解| 澳门百家乐官网娱乐城注册| 百家乐平注法到656| 百家乐官网注码技术打法| 大发888娱乐城刮刮乐| 犹太人百家乐官网的玩法技巧和规则| bet365娱乐城注册| 百家乐怎么玩高手| 百家乐官网筹码样式| 百家乐赌场赌场网站| 百家乐官网号论坛博彩正网| 百家乐策略网络游戏信誉怎么样| 百家乐官网赌博论坛在线| 百家乐娱乐网站| 高尔夫| 威尼斯人娱乐城投注网| 百家乐官网博娱乐赌百家乐官网的玩法技巧和规则 | 广西| 怎样玩百家乐才能| 澳门百家乐官网娱乐城送彩金| 威尼斯人娱乐代理注册| 金杯百家乐官网的玩法技巧和规则 | 百家乐如何买大小| 百家乐官网注码技术打法| 铂金娱乐|