


So viele Leute sind verwirrt über die Verwendung und den Unterschied zwischen root und sudo unter Linux!
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.
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'
# echo 'This is a root shell'
Was ist Sudo?
sudo
(superuser do) 命令是一个命令行实用程序
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.
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
root ALL=(ALL:ALL)ALL
%sudo ALL=(ALL:ALL)ALL
注意
Wie aus der ersten Zeile der Datei /etc/sudoers ersichtlich ist:
# This file MUST be edited with the 'visudo' command as root
Die Verwendung von sudo zum Ausführen von Befehlen ist sehr einfach. Fügen Sie einfach sudo vor dem Befehl hinzu:
$ 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 权限运行。
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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)

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.

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.

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.

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

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.

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.

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.
