Was bedeutet und tut sudo?

„Kann mir jemand sagen, was sudo bedeutet?“ Ich lerne Linux. Ich habe gegoogelt, aber kann mir jemand einen Windows -Vergleich geben? Ich denke, das wird mir ein wenig helfen. Ich weiß, dass su Benutzer wechseln bedeutet. sudo ist ein anderer Benutzer, aber wie und warum? Warum können Sie sich nicht einfach Berechtigungen unter Ihrem Benutzernamen erteilen?

Kommentare

  • In Windows, wenn Sie nicht ‚ Sie haben keine Administratorrechte. Sie müssen einen Namen und ein Passwort für ein Konto angeben, das dies auch tut. Sie können sich natürlich unter Ihrem Benutzernamen die Erlaubnis geben. Es ist einfach nicht klug, dies zu tun, wie jedes Programm, das dies tut Ihr Lauf kann dann alles ändern, wofür Sie die Berechtigung haben. Dies ist einer der Gründe, warum Windows so lange unsicher war.
  • @KnowledgeBeyondMe: Was ist mit dem Thema der Frage? Bitte ändern Sie es in etwas Sinnvolles.
  • OK, also lassen Sie mich sehen, ob ich das verstehe. Anstelle von Leuten mit Administratorkonten hat jeder das Potenzial, ein Administrator zu sein, indem er den sudo-Benutzernamen verwendet. Wenn Sie jedoch diesen sudo-Benutzernamen verwenden, können Sie Aktionen werden an Sie zurückgemeldet, weil es höllisch von Ihrem tatsächlichen Benutzernamen abweicht. Wenn dies so ist, gefällt mir das wirklich. Das spart jede Menge Zeit. Sie tun ‚ Sie müssen nicht warten, bis jemand mit Privilegien zu Ihnen kommt, um Software und Drucker usw. hinzuzufügen.

Antwort

sudo ermöglicht es Ihnen, ein Programm als Root-Superuser auszuführen . Wenn Sie es anstelle von su,

  1. verwenden, müssen Sie das Root-Passwort nicht kennen, da Sie nach Ihrem Passwort gefragt werden,
  2. Sie wissen explizit, welche Befehle als Root ausgeführt werden und welche anderen als Sie. Wenn Sie su verwenden, haben Sie eine Shell und können versehentlich einige (gefährliche) Programme ausführen.
  3. Alle Ihre Aktionen werden im Datei. Aktionen in einer Shell, z. B. eine von su initiierte Aktion, werden normalerweise nicht protokolliert .

Warum können Sie sich nicht einfach Berechtigungen unter Ihrem Benutzernamen erteilen?

Für Sicherheitsgründe, Das Root-Konto wird selten für alltägliche Zwecke verwendet . Normalerweise verwenden alle Benutzer, einschließlich Administratoren, einen „normalen“ Benutzer und führen nur Befehle aus Dies kann (1) den unbefugten Zugriff auf Dateien anderer Benutzer, (2) nicht protokollierte Root-Aktionen und (3) Probleme verhindern, die durch die Ausführung „gefährlicher“ Programme verursacht werden.

Dort ist eine Analogie in Wikipedia , die Sie berücksichtigen können:

  • Die Verwendung eines Root-Kontos ist eher wie Superman, ein regulärer Administrator Benutzer ist eher wie Clark Kent. Clark Kent wird nur so lange wie nötig Superman, um Menschen zu retten. Dann kehrt er zu seiner „Verkleidung“ zurück. Der Root-Zugriff sollte auf die gleiche Weise verwendet werden. Die Verkleidung von Clark Kent schränkt ihn jedoch nicht wirklich ein, da er immer noch in der Lage ist, seine Superkräfte einzusetzen. Dies ist analog zur Verwendung des Sudo-Programms.

Kommentare

  • Die Verwendung von sudo ist eher so, als ob Sie doof wären, bis Sie eine Super-Erdnuss essen, die Sie zu Super Goof macht. Ihre Superkräfte lassen nach einer Auszeit nach (Standard) 15 Minuten), wonach Sie aufgefordert werden, eine neue Erdnuss, Ihr Passwort, einzugeben.
  • OK, lassen Sie mich sehen, ob ich das verstehe. Anstelle von Leuten, die Administratorkonten haben, hat jeder das Potenzial dazu Seien Sie ein Administrator, indem Sie den sudo-Benutzernamen verwenden. Wenn Sie jedoch diesen sudo-Benutzernamen verwenden, werden Ihre Aktionen an Sie zurückgemeldet, weil es höllisch schlecht für Ihren tatsächlichen Benutzernamen ist. Wenn dies so ist, gefällt mir das wirklich. Es spart Tonnen ‚ Sie müssen nicht darauf warten, dass jemand mit Privilegien zu Ihnen kommt, um Software und Drucker usw. hinzuzufügen.
  • @KnowledgeBeyondMe Jeder hat die stark Sie müssen Administrator sein, müssen jedoch noch autorisiert sein, indem Sie in /etc/sudoers aufgeführt sind. Es gibt einige andere Vorteile von sudo gegenüber su, aber der Hauptpunkt von sudo ist, dass Sie sich mit Ihrem eigenen Passwort authentifizieren. Freigegebene Kennwörter sind fehlerhaft.
  • Sie müssen Personen autorisieren, einschließlich dieser in die /etc/sudoers oder mit anderen Techniken , um sudo auszuführen. Normalerweise autorisieren Sie nicht alle Personen, sondern nur Systemadministratoren.

Antwort

Standardmäßig auf den meisten Unices Das „Administrator“ -Konto root ist nur sparsam zu verwenden. Auf einem normalen Unix-System gibt es nur zwei Ebenen von Administrator- oder „Superuser“ -Rechten: Sie haben entweder die volle Kontrolle über alles oder Sie tun dies nicht.

„Vollzugriff“ umfasst das Umgehen der meisten Berechtigungsprüfungen und das völlige Durcheinander des Systems durch einfache Tippfehler. Als normaler Benutzer können Sie höchstens Ihre eigenen Dateien löschen.

Das ältere Dienstprogramm su wird zusammen mit dem Root-Passwort verwendet, um die Root-Identität anzunehmen. Kann aber auch verwendet werden, um die Identität anderer Benutzer anzunehmen oder einzelne Befehle als solche auszuführen, vorausgesetzt, Sie gehören zur richtigen Benutzergruppe und kennen deren Kennwörter.

su wird üblicherweise vom Root-Benutzer (auf einigen Unix-Systemen) verwendet, um Daemons (Serviceprozesse) zu starten, die unter bestimmten Benutzeridentitäten ausgeführt werden müssen, um sie vor dem Zugriff auf Bereiche zu schützen dass sie keinen Zugriff haben sollten (normalerweise Webserver, SSH-Server und dergleichen). Dies kann in Startskripten erfolgen, während das System startet.

su wird seltener interaktiv verwendet (in der Befehlszeile).

Das Dienstprogramm sudo erfordert etwas mehr Konfiguration, da ein Benutzer Befehle als andere ausführen kann Benutzer mit ihrem eigenen Passwort (was bedeutet, dass beispielsweise ein Root-Passwort nicht freigegeben werden muss) und eine genaue Kontrolle darüber ermöglicht, wer genau was tun darf. Man könnte beispielsweise einem einzelnen Benutzer oder einer ganzen Gruppe von Benutzern die Möglichkeit geben, eine bestimmte Festplatte zu mounten, diese jedoch nicht zu entfernen oder andere Disketten zu mounten oder Software mit bestimmten Befehlen usw. zu installieren Das Dienstprogramm div id = „43a3cdde55“>

ermöglicht die Annahme der Identität anderer Benutzer (nicht nur root) für interaktive Sitzungen oder die Ausführung einzelner Befehle (wenn die Konfiguration auf diese Weise von einer anderen Person mit root eingerichtet wurde) Berechtigungen).

Normalerweise werden einzelne Befehle mit sudo ausgeführt (daher der Name „superuser do“):

$ sudo apt-get install vim 

oder

$ sudo shutdown -ph now 

Die Verwendung von sudo auf diese Weise wird der Verwendung von sudo -s und arbeiten mit einer interaktiven Root-Shell, da die von Ihnen ausgeführten Befehle protokolliert werden. Sie können später die Aktionen in der Protokolldatei zurückverfolgen, um zu sehen, wo (und wer) etwas getan hat Debuggen oder zur Prüfung.

Wenn Sie sich als typi befinden Wenn Sie sich über einen längeren Zeitraum an einer interaktiven Root-Eingabeaufforderung befinden, sollten Sie sich überlegen, was Sie gerade tun und ob dies wirklich Root-Berechtigungen erfordert.

Zum Beispiel das einzige Mal, dass I. Eine interaktive Root-Eingabeaufforderung wird angezeigt, wenn Sie einen normalen Benutzer auf einem frisch installierten Computer hinzufügen oder wenn ich wirklich ernsthafte Probleme habe, die mich daran hindern, mich überhaupt als normaler Benutzer anzumelden.


OpenBSD (seit Version 5.8) verfügt über ein Dienstprogramm namens doas, das sudo in der Standardsysteminstallation ersetzt. Es wurde entwickelt, als klar wurde, dass sudo zu komplex geworden war, um die von den Entwicklern von OpenBSD festgelegten Ziele zu erreichen. Die Verwendung ähnelt der von sudo, , die Konfiguration ist jedoch einfacher .

Antwort

In früheren Unix-Versionen bestand das häufigste Szenario darin, sich über ein Terminal ohne Fenstersystem anzumelden. Der Befehl su (Ersatzbenutzer) war eine bequeme Möglichkeit, Ihre aktuellen Berechtigungen zu ändern, ohne sich abzumelden. Denken Sie daran, dass das Abmelden eines Fenstersystems ohne ein Fenstersystem das Stoppen aller ausgeführten Aktionen bedeutete.

Die Verwendung von su als Root hat einige lästige Probleme. Gelegentlich vergaßen die Benutzer, die Sitzung zu beenden und versehentlich Befehle als root auszuführen. Das Ändern des Administratorkennworts wurde durch die Tatsache erschwert, dass Sie es an alle verteilen mussten, die es benötigten. Die meisten Systeme haben nicht jeden Befehl protokolliert, daher war es schwierig zu sagen, wer was als Root getan hat. Und so weiter.

sudo hat diese Probleme behoben, indem die Benutzer einen einzigen Befehl als root ausführen konnten. Es bietet eine bessere Überwachung und Kontrolle und ist gleichzeitig für einmalige Befehle etwas bequemer.

Antwort

OK, also lassen Sie mich sehen, ob ich das verstehe. Anstelle von Personen mit Administratorkonten kann jeder mithilfe des sudo-Benutzernamens Administrator werden. Wenn Sie jedoch diesen sudo-Benutzernamen verwenden, werden Ihre Aktionen wieder bei Ihnen protokolliert, da dies eine Art Abweichung von Ihrem tatsächlichen Benutzernamen darstellt. Wenn dem so ist, mag ich das wirklich. Das spart jede Menge Zeit. Sie müssen nicht warten, bis jemand mit Privilegien zu Ihnen kommt, um Software und Drucker usw. hinzuzufügen.

Kommentare

  • sudo ist ein Dienstprogramm, kein Benutzername. Jemand muss Ihnen noch das Recht zur Verwendung von sudo geben. Das Recht kann auf die Verwendung von beschränkt sein bestimmte Befehle oder zum Verwenden von sudo, um bestimmte andere Benutzeridentitäten anzunehmen. sudo kann verwendet werden, um zu anderen Rollen als nur root zu wechseln.
  • Oh, also ist es wie bei Active Directory-Organisationsgruppen? Sie haben Ihren eigenen Benutzernamen mit Berechtigungen, aber wenn Sie Berechtigungen erhalten, können Sie auf die Berechtigungen einer spezialisierten Organisation zugreifen. Das ORG in diesem Sinne wäre das Dienstprogramm SUDO?
  • Sie wissen nicht, was ein “ Active Directory “ ist. Ich kann ‚ nicht mit Sicherheit Ja oder Nein dazu sagen.
  • Kontrollmechanismus für Rechte und Rollen in Fenstern.
  • Nein, sudo ist keine Gruppe oder ein Benutzerkonto. – In Windows, Active Directory und LDAP können Sie Benutzergruppen definieren. Unter Linux können Sie auch Benutzergruppen definieren. Beispielsweise hat Ihr Linux normalerweise eine admin -Gruppe. Jeder Benutzer kann einer primären Gruppe und mehreren sekundären Gruppen angehören. – Sie können die sudo für alle Mitglieder einer Gruppe autorisieren. Wenn Sie das /etc/sudoers aktivieren, haben die autorisierten Gruppen das Präfix %.

Antwort

Mit sudo können Sie ein Programm als anderer Benutzer (einschließlich root) ausführen, basierend auf einem konfigurierbaren, vordefinierten Regelsatz.

Ein Ein Unix / POSIX / Linux-Systemstamm ist Gott. Der Root-Benutzer ist ebenfalls singulär.

In vielen Umgebungen gibt es mehrere Administratoren, die möglicherweise einen vollständigen Root-Zugriff benötigen. Es kann jedoch auch Personen geben, die Zugriff benötigen, um eine bestimmte Funktion auszuführen, die normalerweise für root reserviert ist. Datenbankadministratoren müssen DB-Dienste stoppen und starten, DB-Konfigurationsdateien bearbeiten, Netzwerkadministratoren müssen Netzwerkgeräte und -routen konfigurieren, Sicherheitsadministratoren müssen Zertifikate verwalten und Firewalls konfigurieren.

Durch die Einschränkung, welche Befehle eine Person ausführen kann, wendet sudo das Prinzip der geringsten Berechtigungen an – Benutzer erhalten keinen Zugriff, den sie nicht benötigen. Aber es schränkt nicht nur die Binärdateien ein, die Benutzer ausführen. Viele Administratoraufgaben werden über die Befehlszeile ausgeführt. Die an diesen Befehl übergebenen Parameter können auch von sudo eingeschränkt (oder in einem Shell-Skript mit Zugriff von sudo erfasst) werden. Daher können die Daten / Geräte, auf die sich diese spezialisiert haben, eingeschränkt werden Administratoren können darauf zugreifen.

Warum können Sie sich nicht einfach Berechtigungen unter Ihrem Benutzernamen erteilen?

1) Dies wäre schlecht.

  • Ich hatte auf Systemen häufig Zugriff auf das Root-Konto – aber ich habe immer ein benanntes Konto eingerichtet, das für die Anmeldung verwendet werden soll und nur „su“ oder „sudo“, wenn ich meine Superkräfte explizit aufrufen möchte. Zusätzlich zur Vermeidung alberner Fehler bietet mein benannter Account eine Sandbox für alle sich schlecht benehmenden Komponenten.

  • Was ist, wenn es 5 Personen gibt, die den privilegierten Zugriff benötigen? Gewähre ich ihn jedem? Was ist mit 20? Was ist mit 200?

2) dies wäre schwierig

  • es ist nicht das Unix-Sicherheitsmodell. Sicher, Sie könnten die Berechtigungen für einige ausführbare Dateien ändern (siehe vorherigen Hinweis zu Parametern). Wenn Sie jedoch sicherheitsbewusst sind, wenden Sie regelmäßig Patches an. Dies kann ein benutzerdefiniertes Berechtigungsmodell untergraben (sudo OTOH behält seine Berechtigungen unabhängig von den Befehlen selbst bei).

Kommentare

  • ahhh, deshalb ist Linux etwas schwieriger anzugreifen. Weniger Menschen mit Rechten. Der Angreifer müsste die richtige Person mit den richtigen Rechten finden. per se.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.