Was ist der Unterschied zwischen sudo und su?

Vor ein paar Tagen erhielt ich eine Anfrage von Miguel, einem regelmäßigen Blog-Leser und zwanghaften Kommentator, bezüglich Was genau ist der Unterschied zwischen sudo y su. Insbesondere war Miguel besorgt darüber, ob eine Methode sicherer als die andere war. Es kommt vor, dass ich das dort vorgelesen hatte sudo war nicht sicher genug und wollte mehr wissen. Dies ist ein weiterer Beitrag für diejenigen, die nach weiteren Artikeln über gefragt haben Terminal Mysteries.

Su

das Programm su Ermöglicht die Verwendung der Shell eines anderen Benutzers, ohne sich von der aktuellen Sitzung abzumelden. Es wird häufig verwendet, um Root-Berechtigungen für Verwaltungsvorgänge zu erhalten, ohne sich abmelden und erneut in das System eintreten zu müssen. Einige Desktop-Umgebungen, einschließlich GNOME und KDE, verfügen über Programme, die grafisch nach einem Kennwort fragen, bevor der Benutzer einen Befehl ausführen kann, für den normalerweise ein solcher Zugriff erforderlich ist.

Der Name su kommt aus dem Englischen sersetzen usein (Ersatzbenutzer). Es gibt auch diejenigen, von denen es abgeleitet ist superuser (Superuser, dh der Root- oder Administratorbenutzer), da es normalerweise verwendet wird, um die Rolle des Systemadministrators zu übernehmen.

Wenn du rennst, su Es fragt nach dem Passwort des Kontos, auf das Sie zugreifen möchten, und wenn es akzeptiert wird, gibt es Zugriff auf dieses Konto.

[guy @ localhost] $ Ihr Passwort: [root @ localhost] # Abmelden beenden [guy @ localhost] $

Wenn Sie keinen Benutzer angeben, wird auf ihn als Administrator zugegriffen. Es ist jedoch auch möglich, einen anderen Benutzernamen als Parameter zu übergeben.

[guy @ localhost] $ su mongo Passwort: [mongo @ localhost] # Abmeldung beenden [guy @ localhost] $

Sobald das Passwort eingegeben wurde, können wir die Befehle ausführen, als wären wir der andere Benutzer. Schriftlich wunschkehren wir zu unserem Benutzer zurück.

Eine weit verbreitete Variante ist zu verwenden su gefolgt von einem Bindestrich. Um sich als root anzumelden, müssen Sie also eingeben su - und sich als anderer Benutzer anzumelden Ihr - anderer Benutzer. Der Unterschied zwischen der Verwendung des Skripts oder nicht? Es wird empfohlen, das Skript zu verwenden, da es simuliert, dass Sie sich mit diesem Benutzer anmelden. Daher werden alle Startdateien dieses Benutzers ausgeführt, das aktuelle Verzeichnis in das HOME dieses Benutzers geändert, der Wert einiger Systemvariablen geändert und an den neuen Benutzer angepasst (unter anderem HOME, SHELL, TERM, USER, LOGNAME) und Andere mehr Dinge.

Ein Systemadministrator sollte bei der Auswahl eines Kennworts für das Root- / Administratorkonto sehr vorsichtig sein, um einen Angriff eines nicht privilegierten Benutzers zu vermeiden su. Einige Unix-ähnliche Systeme haben eine Benutzergruppe namens Rad, die die einzigen umfasst, die ausführen können su. Dies kann Sicherheitsbedenken verringern oder nicht, da ein Eindringling einfach eines dieser Konten übernehmen kann. Er su GNU unterstützt jedoch nicht die Verwendung dieser Gruppe; Dies geschah aus philosophischen Gründen.

Sudo

Ein verwandter Befehl namens sudo, führt einen Befehl als anderer Benutzer aus, wobei jedoch eine Reihe von Einschränkungen zu beachten ist, bei denen Benutzer welche Befehle für welche anderen Benutzer ausführen können (normalerweise in der Datei angegeben) / etc / sudoers).

Auf der anderen Seite im Gegensatz su, sudo fordert die Benutzer zur Eingabe ihres eigenen Kennworts anstelle des erforderlichen Benutzers auf; Dies ermöglicht die Delegierung von Befehlen an Benutzer auf anderen Computern, ohne dass Kennwörter freigegeben werden müssen, wodurch das Risiko verringert wird, dass Terminals unbeaufsichtigt bleiben.

Sudo-Probleme: die Schonfrist

Der Vorteil von sudo unter Berücksichtigung von su ist, dass es nur den angeforderten Befehl ausführt, der vorgibt, der andere Benutzer zu sein, ohne den aktuellen Benutzer tatsächlich zu ändern. Dies bedeutet, dass man einen Befehl als Administrator ausführen kann und in der nächsten Sekunde die Berechtigungen des Benutzers hat, den er zuvor verwendet hat ... oder fast.

Einige sehen als Sicherheitsverletzung die Tatsache, dass sudo Gewähren Sie eine "Kulanzfrist", die es dem Benutzer ermöglicht, Befehle als anderer Benutzer auszuführen, ohne dass sudo nach der Ausführung wiederholt vor dem Befehl und dem Kennwort eingegeben werden muss. Nach dieser "Nachfrist" sudo werde uns das Passwort noch einmal fragen.

Dies ist "schlecht", im Wesentlichen, weil jemand unseren Computer übernehmen könnte, nachdem wir das sudo-Passwort eingegeben haben und während die "Kulanzfrist" aktiv ist, eine Katastrophe verursachen.

Glücklicherweise ist es möglich, die "Kulanzfrist" zu deaktivieren, wodurch die Sicherheit Ihres Systems verbessert wird. Fügen Sie einfach eine Zeile in die Datei ein / etc / sudoers:

sudo nano / etc / sudoers

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

Standard: ALL timestamp_timeout = 0

Die Änderung wird sofort wirksam, ohne dass das System neu gestartet werden muss.


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Hilfe sagte

    In der Tat, wenn Sie mit sudo mit Administratorrechten eingeben und dort bleiben können, wie Sie es mit su tun -, müssen Sie dafür schreiben: sudo -s, wodurch der aktuelle Benutzer geändert wird und die Gnadenzeit als Scherz belassen wird (seit Sie können so lange bleiben, wie Sie möchten, wie bei Ihrem)

  2.   Miquel Mayol und Tur sagte

    Vielen Dank für die Erwähnung, aber der wahre Verdienst geht an den Sabayon-Chat - den ich nicht mehr benutze, weil meine Festplatte kaputt ist und ich lieber zu Ubuntu zurückkehren möchte -.

    Der Grund, den sie mir gaben, war, dass sie manchmal bei bestimmten Sudo-Konfigurationen keine absoluten Berechtigungen erhalten und falsch konfiguriert bleiben. Und indem Sie sich mit su als root für Update- und Wartungsaufgaben "anmelden", verhindern Sie dies.

    Dann habe ich Ihnen eine E-Mail geschickt, weil ich versprochen habe, diese Erkenntnis zu teilen, die mir nicht trivial erschien.

    Da Ubuntu standardmäßig ohne Root-Benutzer installiert ist, führen Sie es einfach aus

    "Sudo passwd root"

    Geben Sie das Passwort ein, bestätigen Sie es und danach
    "Su root"
    für Wartungsarbeiten, zusätzlich zur Vermeidung von Sudo bei jeder Bestellung.

    Im Prinzip wird in Ubuntu das Root-Konto entfernt, so dass Sie sich nicht immer mit diesem Konto anmelden. Da ich jedoch den Rat fast in dem Ton erhalten habe, dass die Verwendung von sudo ein Sakrileg war, nur für den Fall, dass ich es befolgt habe.

  3.   Nill Zeiger sagte

    Sie könnten auf die Datei / etc / shadow zugreifen und den Root-Passwort-Hash in den normalen Benutzer-Passwort-Hash ändern und dann eine Passwortänderung für root vornehmen ??? Zu einem anderen Zeitpunkt versuche ich das gleiche….

  4.   Verwenden wir Linux sagte

    Klar. Es ist nicht exklusiv für Fedora.

  5.   mfcollf77 sagte

    Können sie dann von beiden installiert werden? Ich dachte, dass «SU» nur in FEDORA ist.

  6.   Diego Kisai Alba Gallart sagte

    Sehr gute Informationen, damit werden sicherlich die Zweifel vieler verschwinden, denn ich kenne einige, die diesen Zweifel haben.

  7.   Alex sagte

    In Ubunto erinnere ich mich, dass Sie den Befehl su nicht verwenden können (um als Root-Benutzer einzugeben).

  8.   Hazan Perez sagte

    Um das Root-Passwort (in der Tat jedes andere Passwort) "wiederherzustellen", können Sie mit John The Ripper einen "Angriff" auf die Systemkennwortdatei durchführen. Ich werde nicht mehr dazu sagen.

    Vielleicht gibt es andere Methoden ... Vielleicht ändern Sie das Passwort, indem Sie "sudo su" und dann den Befehl "passwd" eingeben. Es wäre interessant zu sehen, was andere Leute antworten ...

  9.   Verwenden wir Linux sagte

    Genau!

  10.   Verwenden wir Linux sagte

    Das stimmt ... ich muss Miguel Mayol i Tur danken ... er war derjenige mit der Idee. 🙂
    Prost! Paul.

  11.   Boss sagte

    Vielen Dank, wie immer ein toller Beitrag. Wir wissen das zu schätzen.

  12.   Verwenden wir Linux sagte

    Danke Chef! Eine Umarmung! Paul.

  13.   Jerome Navarro sagte

    Der Unterschied zwischen 'su' und 'sudo' ist 'do'

  14.   Erick sagte

    Ich habe das Root-Passwort vergessen, zum Glück kann ich sudo verwenden, und um su zu verwenden, verwende ich 'sudo su' und es wird nicht nach pass gefragt (?)
    Weiß jemand, wie man das Root-Passwort herausfindet (ich habe über sudo Zugriff auf root)?

    1.    Marvergarab sagte

      sudo passwort

  15.   Verwenden wir Linux sagte

    Ha! Sehr schlau!

  16.   Fabianisches Land sagte

    derjenige, der das root-Passwort wiederherstellen möchte, wäre "sudo passwd root" und dort werden Sie aufgefordert, ein neues einzugeben

  17.   alex-pilloku@hmail.com sagte

    Hallo, wie ist dein Leben?

  18.   SynFlag sagte

    Entschuldigung, aber mit dem Befehl su, so:

    su -c "Befehl" ist dasselbe wie die Verwendung von sudo ohne Kulanzfrist. Ich sehe keine Notwendigkeit für Sudo.

    Die WIRKLICHE Verwendung von sudo besteht darin, bestimmten Benutzern die Möglichkeit zu geben, diesen oder jenen Befehl zu verwenden. Es wird eher in Unternehmen verwendet, um nicht chrootieren zu müssen, was mit su nicht möglich ist.

  19.   Yacardis sagte

    Lieber, ich muss ein Linux-TP machen und einige einfache Fragen beantworten. Vielleicht können sie mir helfen. Danke seitdem:

    Mit welchem ​​Befehl können wir Debian-Pakete installieren / löschen / ändern?
    Mit diesem Befehl können wir die Installation einfacher verwalten
    Pakete in Debian?
    Was ist der Befehl, um die RPM-Pakete installieren zu können?
    Mit welcher Option deinstallieren wir ein Paket?
    In welchem ​​Verzeichnis befinden sich die yum-Repositorys?
    Wofür ist lecker?
    Welche Option verwenden wir, um mit yum nach einem Paket zu suchen?
    Mit welcher Option löschen wir ein Paket?
    Mit welcher Option können wir das System aktualisieren?
    Welche Buchstaben kennzeichnen die Genehmigungen?
    Was bedeutet jeder von ihnen?
    Welche Befehle listen die Berechtigungen einer Datei auf?
    In welche drei Gruppen sind die Berechtigungen unterteilt?
    Welche zwei Möglichkeiten gibt es, um Berechtigungen zu implementieren?
    Welches Zahlensystem verwenden die Genehmigungen?
    Welches Gewicht haben diese Buchstaben?
    Was sind Sondergenehmigungen?
    Was sind die vorhandenen Sonderberechtigungen und wofür sind die Benutzer?
    Mit welchen Befehlen ändere ich die Berechtigungen?
    Welche Parameter verwende ich, um einer Datei Ausführungsberechtigungen zu erteilen?
    Welche Parameter werden verwendet, um nur einer Gruppe Leseberechtigungen zu erteilen?
    Welche Parameter werden verwendet, um der Gruppe andere Lese- / Schreibberechtigungen zu erteilen und dem Benutzer, dem die Datei gehört, das Schreiben zu entfernen?
    Welche Berechtigungen werden standardmäßig für Dateien und Verzeichnisse erstellt?
    Mit welchem ​​Befehl überprüfen wir es?
    Wie ändern wir die Standardmaske?
    Wie machen wir die verwendete Maske anders? (Verwenden Sie eine Standardmaske, bei der nur die Eigentümer alle Berechtigungen haben.)
    Welcher Befehl listet die Prozesse auf? Erwähnen Sie verschiedene Parameter und deren Verwendung.
    Was ist der Prozess, der alles startet?
    Listen Sie die Prozesse auf, die dem angemeldeten Benutzer entsprechen.
    Listen Sie alle Prozesse im System auf.
    Welche Optionen verwende ich, um zusätzliche Informationen zu erhalten?
    Listen Sie alle Prozesse auf, die in einem Terminal verwendet werden
    Welche Option listet die Prozesse und ihre Abhängigkeiten auf?
    Erklären Sie, was ein Eltern-Kind-Prozess ist und wie Sie ihn identifizieren können
    Welcher Befehl listet die Prozesse in Form von Bäumen auf?
    Welcher Befehl überwacht die Prozesse in Echtzeit?
    Überwachen Sie nur einen Prozess
    Welcher Befehl zeigt die Speichernutzung an?
    Welcher Parameter zeigt den Speicher in Megabyte an?
    Welchen Parameter macht es in Intervallen?
    Welcher Befehl zeigt Informationen zur Uhrzeit eines Teams an?
    Mit welchem ​​Befehl kann ich Prozesse beenden?
    Was tun diese Prozesse, um abgeschlossen zu werden?
    Welche Arten von Signalen sind am häufigsten?
    Listen Sie die unterstützten Signaltypen auf.
    Führen Sie in einem Terminal den vi-Test durch und gehen Sie dann zu einem anderen Terminal, suchen Sie nach dem Prozess und beenden Sie ihn mit einem 15-Signal. Das Gleiche gilt für ein 9-Signal.
    Was ist der Unterschied zwischen Signal 9 und 15?
    Welches funktioniert standardmäßig?
    Warum wird ein Prozess im Hintergrund ausgeführt? Und im Vordergrund?
    Führen Sie den vi-Test aus und drücken Sie dann Strg + z. Was ist passiert?
    Wiederholen Sie den vi-Test, Strg + Z, viermal. Wie beende ich das, was fehlgeschlagen ist?
    Übergeben Sie einen der Prozesse in den Vordergrund und schließen Sie vi.
    Welchen Parameter eines Befehls führen wir aus, damit er die Shell nicht belegt?
    Welcher Befehl ändert die Prioritäten eines bereits ausgeführten Prozesses? Wie würden Sie die Priorität des laufenden Terminals ändern?
    Welche Ebenenwerte gibt es und wie ist ihre Hierarchie?
    Öffnen Sie die Datei / etc / passwd und sehen Sie, welche Prioritätsstufe sie hat.
    Ändern Sie die Prioritätsstufe auf 4 und dann auf 25. Können Sie beide zuweisen? Warum?
    Listen Sie die Prozesse mit ihren Prioritätswerten auf.
    Welcher Befehl überwacht alle laufenden Prozesse?

  20.   usw. sagte

    Hallo, ich möchte sudo genauso deaktivieren wie ich. Ich verstehe Folgendes:
    [sudo] Passwort für xxx:
    xxx ist nicht in der sudoers-Datei enthalten. Dieser Vorfall wird gemeldet.

    wie ich es deaktiviere, da ich su in debian benutze

    1.    Lass uns Linux benutzen sagte

      Hallo ecc!

      Ich denke, es wäre besser, wenn Sie diese Frage in unserem Frage-und-Antwort-Service anrufen Angebotspreis DesdeLinux damit die ganze Community Ihnen bei Ihrem Problem helfen kann.

      Eine Umarmung, Pablo.

  21.   Berthold sagte

    Hallo. Ich habe den Befehl für die Festplattentemperatur in Linux Mint verwendet: 'sudo hddtemp / dev / sda', er fragt nach dem Kennwort und gibt mir das erwartete Ergebnis.
    Bei der Ausführung im selben Terminal 'hddtemp / dev / sda' wird mir jedoch mitgeteilt, dass die Berechtigung verweigert wurde.
    Die Nachfrist wirkt sich also nicht auf mich aus, warum?

  22.   Berthold sagte

    Hallo Blog.
    Ich habe auch festgestellt, dass bei der Installation der Distribution (z. B. Ubuntu, Linux Mint) nach einem Administratorkennwort gefragt wird.
    In der grafischen Oberfläche des Kontrollzentrums habe ich die Option verwendet, um das Kennwort meines Benutzers zu ändern.
    Wenn Sie jetzt «su -» verwenden, werden Sie nach einem Kennwort gefragt, das nicht das meines aktuellen Benutzers ist, sondern das, das ich bei der Installation der Distribution verwendet habe und das immer noch der Root- oder Administratorbenutzer ist.
    Dies würde dazu führen, dass viele Benutzer das wahre Administratorkennwort vergessen.

  23.   Kendall Davila sagte

    Hallo, Ihre Erklärung ist ausgezeichnet, sehr klar, kurz und prägnant. Danke für die Eingabe