Inhaltsverzeichnis
Sudo 对比 Root" >Sudo 对比 Root
Heim System-Tutorial LINUX So viele Leute sind verwirrt über die Verwendung und den Unterschied zwischen root und sudo unter Linux!

So viele Leute sind verwirrt über die Verwendung und den Unterschied zwischen root und sudo unter Linux!

Feb 10, 2024 pm 02:18 PM
linux linux教程 linux系统 腾讯云 linux命令 shell脚本 eingebettetes Linux Erste Schritte mit Linux Linux-Lernen

In Linux-Systemen gibt es zwei Konzepte, mit denen vielleicht jeder vertraut ist: eines ist der sudo-Befehl und das andere ist das Root-Konto. Mit dem Befehl sudo können wir Befehle mit den höchsten Berechtigungen ausführen. Unter dem Root-Konto verfügen alle Befehle über die höchsten Berechtigungen, was allen Befehlen entspricht, denen standardmäßig sudo hinzugefügt wurde.

Linux 中 root 与 sudo 的用法与区别,居然这么多人搞不清楚!

Also, Was ist der Unterschied zwischen sudo und root

? Warum empfehlen wir die Verwendung von sudo anstelle der direkten Verwendung des Root-Kontos? In diesem Tutorial erfahren Sie mehr über den Root-Zugriff, den Sudo-Befehl, die Ausführung von Befehlen mit Sudo und den Unterschied zwischen Sudo-Zugriff und Root.

Was ist Root?

root bezieht sich auf das Superuser-Konto in Unix-ähnlichen Systemen wie Linux. Es handelt sich um das privilegierte Konto mit den höchsten Zugriffsrechten auf dem System, das für die Systemadministration verwendet wird. Dieses Root-/Superuser-Konto hat unabhängig vom Kontonamen eine Benutzerkennung (UID) von Null.

Der Root-Benutzer hat die volle Autorität über das gesamte System (Root-Rechte). Es kann beispielsweise Kernteile des Systems ändern, das System aktualisieren, die Systemkonfiguration ändern sowie alle laufenden Systemdienste starten, stoppen und neu starten.

Wenn Sie als Root angemeldet sind (mit su -), ändert sich das Symbol der Terminal-Eingabeaufforderung von

$ echo 'You are in a normal shell'
Nach dem Login kopieren

wird

# echo 'This is a root shell'
Nach dem Login kopieren

Auf einigen Systemen (wie Ubuntu) ist der Root-Benutzer standardmäßig gesperrt. (Hinweis: Bricklayer wird nicht gesperrt, aber Tencent Cloud wird es standardmäßig sperren.)

Was ist Sudo?

sudo (superuser do) 命令是一个命令行实用程序

, wodurch Benutzer Befehle als Root oder andere Benutzer ausführen können. Es bietet eine effiziente Möglichkeit, bestimmten Benutzern entsprechende Berechtigungen zu erteilen, um bestimmte Systembefehle zu verwenden oder Skripts als Root-Benutzer auszuführen.

Obwohl sudo dem Befehl su etwas ähnelt, unterscheidet er sich darin, dass zur Authentifizierung standardmäßig das Kennwort des Benutzers anstelle des Kennworts des Zielbenutzers erforderlich ist, das su erfordert. Sudo erzeugt auch keine Root-Shell; stattdessen führt es ein Programm oder einen Befehl mit erhöhten Rechten aus, im Gegensatz zu su, das eine Root-Shell erzeugt.

Mit sudo können Systemadministratoren Folgendes tun:
  • Gewährt einem Benutzer oder einer Benutzergruppe die Möglichkeit, bestimmte Befehle mit erhöhten Rechten oder Root-Rechten auszuführen.
  • Zeigen Sie mit sudo die Protokolle für die Benutzer-ID jedes Benutzers an.
  • Steuert, welche Befehle Benutzer auf dem Hostsystem verwenden können.

Sudo protokolliert alle ausgeführten Befehle und Parameter in der Datei /var/log/auth.log, die im Fehlerfall analysiert werden kann.

Sudoers-Datei

sudo verwendet die standardmäßige Sudoers-Sicherheitsrichtlinie und verwaltet eine spezielle Konfigurationsdatei /etc/sudoers. Mit dieser Datei können Zugriffsberechtigungen und Zeitüberschreitungen bei der Passwortabfrage gesteuert werden.

Hinweis: Sie müssen über erhöhte Berechtigungen verfügen, um die Sudoers-Datei anzuzeigen

Öffnen Sie die Datei /etc/sudoers; sie sollte so aussehen:

# 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
Nach dem Login kopieren

Diese Zeile:

root         ALL=(ALL:ALL)ALL
Nach dem Login kopieren

bedeutet, dass der Root-Benutzer unbegrenzte Berechtigungen hat und jeden Befehl auf dem System ausführen kann.

%sudo ALL=(ALL:ALL)ALL
Nach dem Login kopieren

Erlauben Sie allen Mitgliedern der Gruppe sudo, einen beliebigen Befehl auszuführen.

注意

: „%“ in der Sudoers-Datei stellt eine Gruppe dar, keinen Kommentar.

Wie aus der ersten Zeile der Datei /etc/sudoers ersichtlich ist:

# This file MUST be edited with the 'visudo' command as root
Nach dem Login kopieren

Versuchen Sie nicht, die sudoers-Datei direkt zu bearbeiten. Verwenden Sie den Befehl visudo mit Root-Rechten.

Die Verwendung von sudo zum Ausführen von Befehlen ist sehr einfach. Fügen Sie einfach sudo vor dem Befehl hinzu:

$ sudo command
Nach dem Login kopieren

Im Allgemeinen werden Sie aufgefordert, ein Passwort einzugeben und die Eingabetaste zu drücken. 🎜
$ sudo command
[sudo]  password for user:
Nach dem Login kopieren

Sudo 对比 Root

最小权限原则是一种信息和计算机安全概念,它认为授予程序和用户执行任务所需的最少或最低限度的权限。

以 root 用户登录后,输入到终端的每一条命令都以系统最高权限运行,违反了最小权限原则。像 rm 这样的简单命令可用于删除核心根目录或文件,而不会在意外时提示用户。例如,如果您尝试使用以下命令删除 /etc 之类的根目录:

$ rm -rf /etc
Nach dem Login kopieren

当您以普通用户身份登录时,您将被拒绝许可。当以 root 身份登录时,不会显示任何提示,并且整个文件夹将被删除 – 这很可能会破坏您的系统,因为运行系统所需的特殊配置文件存储在 /etc 目录中。您也可能最终错误地格式化磁盘,并且系统不会提示您。

此缺陷还扩展到以 root 身份运行代码或应用程序;应用程序中的一个小错误可能会删除一些系统文件,因为该应用程序是在最高权限下运行的。

Sudo 提供细粒度的访问控制。它仅向需要它的特定程序授予提升的权限。您知道哪个程序以提升的权限运行,而不是使用 root shell(以 root 权限运行每个命令)。

Sudo 也可以配置为以另一个用户身份运行命令,指定允许哪些用户和组使用 sudo 运行命令,或者通过编辑 sudoers 文件设置以 root 权限运行程序的超时。

因此,不建议使用 root shell 运行命令,因为您破坏系统的机会要高得多。如果您需要更高权限或 root 权限来运行命令,请使用 sudo 确保只有该命令以 root 权限运行。

Das obige ist der detaillierte Inhalt vonSo viele Leute sind verwirrt über die Verwendung und den Unterschied zwischen root und sudo unter Linux!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

VSCODE kann die Erweiterung nicht installieren VSCODE kann die Erweiterung nicht installieren Apr 15, 2025 pm 07:18 PM

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Linux -Architektur: Enthüllung der 5 Grundkomponenten Linux -Architektur: Enthüllung der 5 Grundkomponenten Apr 20, 2025 am 12:04 AM

Die fünf grundlegenden Komponenten des Linux -Systems sind: 1. Kernel, 2. Systembibliothek, 3. System Utilities, 4. Grafische Benutzeroberfläche, 5. Anwendungen. Der Kernel verwaltet Hardware -Ressourcen, die Systembibliothek bietet vorkompilierte Funktionen, Systemversorgungsunternehmen werden für die Systemverwaltung verwendet, die GUI bietet visuelle Interaktion und Anwendungen verwenden diese Komponenten, um Funktionen zu implementieren.

So verwenden Sie VSCODE So verwenden Sie VSCODE Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) ist ein plattformübergreifender, Open-Source-Editor und kostenloser Code-Editor, der von Microsoft entwickelt wurde. Es ist bekannt für seine leichte, Skalierbarkeit und Unterstützung für eine Vielzahl von Programmiersprachen. Um VSCODE zu installieren, besuchen Sie bitte die offizielle Website, um das Installateur herunterzuladen und auszuführen. Bei der Verwendung von VSCODE können Sie neue Projekte erstellen, Code bearbeiten, Code bearbeiten, Projekte navigieren, VSCODE erweitern und Einstellungen verwalten. VSCODE ist für Windows, MacOS und Linux verfügbar, unterstützt mehrere Programmiersprachen und bietet verschiedene Erweiterungen über den Marktplatz. Zu den Vorteilen zählen leicht, Skalierbarkeit, umfangreiche Sprachunterstützung, umfangreiche Funktionen und Versionen

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Wofür ist VSCODE Wofür ist VSCODE? Wofür ist VSCODE Wofür ist VSCODE? Apr 15, 2025 pm 06:45 PM

VS Code ist der vollständige Name Visual Studio Code, der eine kostenlose und open-Source-plattformübergreifende Code-Editor und Entwicklungsumgebung von Microsoft ist. Es unterstützt eine breite Palette von Programmiersprachen und bietet Syntax -Hervorhebung, automatische Codebettel, Code -Snippets und intelligente Eingabeaufforderungen zur Verbesserung der Entwicklungseffizienz. Durch ein reiches Erweiterungs -Ökosystem können Benutzer bestimmte Bedürfnisse und Sprachen wie Debugger, Code -Formatierungs -Tools und Git -Integrationen erweitern. VS -Code enthält auch einen intuitiven Debugger, mit dem Fehler in Ihrem Code schnell gefunden und behoben werden können.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

See all articles