亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

linux 下面有兩個概念可能大家接觸的比較多,一個是 sudo 命令,還有一個是 root 賬戶。Sudo 命令可以以最高權限執行命令,而 root 賬戶下所有命令都有最高權限,也就是相當于所有命令都默認加了 sudo。

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

什么是 root?

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

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

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

$ echo 'You are in a normal shell'

變成

# echo 'This is a root shell'

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

什么是 Sudo?

sudo (superuser do) 命令是一個命令行實用程序,它允許用戶以 root 或其他用戶身份執行命令。它提供了一種有效的方式來授予某些用戶適當的權限以使用特定的系統命令或以 root 用戶身份運行腳本。

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

使用 sudo,系統管理員可以執行以下操作:

  • 授予用戶或用戶組以提升或 root 權限運行某些命令的能力。
  • 查看每個使用 sudo 的用戶的用戶 ID 的日志。
  • 控制用戶可以在主機系統上使用什么命令。

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

sudoers 文件

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

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

打開 /etc/sudoers 文件;它應該是這樣的:

# 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 用戶擁有無限的權限并且能夠在系統上運行任何命令。

%sudo ALL=(ALL:ALL)ALL

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

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

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

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

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

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

$ sudo command

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

$ sudo command
[sudo]  password for user:

Sudo 對比 Root

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

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

$ rm -rf /etc

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

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

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

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

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

分享到:
標簽:Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定