Frage Warum ist es schlecht, sich als root anzumelden?


Ich bin oft auf Foren in Foren oder anderen Websites gestoßen, auf denen Leute so scherzen, dass sie sich als root einloggen / einloggen, als ob es etwas Schreckliches wäre jeder sollte darüber wissen. Es gibt jedoch nicht viel, was eine Suche in der Sache offenbart.

Es ist Linux-Experten wohl bekannt, aber ich weiß wirklich nicht warum. Ich erinnere mich daran, dass ich immer als root lief, als ich das erste Mal vor Jahren Linux ausprobierte (Redhat und Mandrake) und mich daran erinnere, dass ich deswegen keine Probleme hatte.

Es gibt tatsächlich einige Distributionen, die einen leuchtend roten Hintergrund mit Warnzeichen überall als Hintergrundbild für den Root-Benutzer (SuSe?) Haben. Ich benutze immer noch das "Administrator" -Konto für die regelmäßige Verwendung auf meiner Windows-Installation und habe dort auch noch nie Probleme aufgetreten.


179
2017-12-04 17:00


Ursprung


Ich denke, es gibt kein Problem, ein Programm als root auszuführen. Es ist nur so, dass Sie den Kern Ihres Betriebssystems beschädigen könnten (sogar sudoers können das tun), wenn Sie in Linux nicht sehr klug sind. Ansonsten habe ich keine Probleme. Aber das ist nur mein Standpunkt. - Gaurav Butola
Verwandte Frage Hier. - loevborg
Die Schwierigkeit, in den Root-Modus zu gelangen, variiert zwischen den Distributionen. Ich persönlich ärgere mich, dass Fedora es dir nicht erlaubt, direkt aus der Box zu kommen. OpenSUSE und Ubunto haben jedoch ein vorkonfiguriertes Sudo ... und wenn Sie also die richtige Distribution wählen, können Sie Ihre Ärger minimieren, weil Sie keinen Zugriff auf Dateien haben. - djangofan
@ GauravButola Auch wenn Sie ein Experte sind, ist es immer noch eine schlechte Idee, falls eine Anwendung kompromittiert wird. - strugee
@DaboRoss das OP kommentiert, dass er in Windows als Administrator arbeitet; Für meine (kleine) Erfahrung in diesem OS scheint es mir, dass es mehr wie Ubuntu ist: Es ist ein privilegiertes Konto in dem Sinne, dass es tun kann, was immer du willst, aber es fragt für die Erlaubnis vor zum Beispiel, neue Software zu installieren. Also würde das Äquivalent zur Verwendung des Benutzers "Administrator" in zu Ubuntu übersetzten Fenstern darin bestehen, den Hauptbenutzer mit sudo zu konfigurieren, so dass er nicht nach dem Pass fragt - das Ausführen als Root ist viel gefährlicher. - Rmano


Antworten:


Es besiegt das Sicherheitsmodell, das seit Jahren existiert. Anwendungen sollen mit nicht-administrativer Sicherheit (oder als normale Sterbliche) ausgeführt werden, also müssen Sie ihre Privilegien erhöhen, um das zugrunde liegende System zu modifizieren. Zum Beispiel möchten Sie nicht, dass der kürzliche Absturz von Rhythmbox Ihr gesamtes auslöscht /usr Verzeichnis aufgrund eines Fehlers. Oder diese Schwachstelle, die gerade in ProFTPD gepostet wurde, damit ein Angreifer eine ROOT-Shell erhalten kann.

Es ist nur eine gute Übung auf einem beliebigen Betriebssystem, Ihre Anwendungen auf Benutzerebene auszuführen und administrative Aufgaben dem Benutzer root zu überlassen, und dies nur auf der Basis von einzelnen Anforderungen.


145
2017-12-04 17:08



... und schützt Sie davor, triviale Fehler in Katastrophen zu transformieren. Ich bin ein Unix User / Adm seit 1990, aber trotzdem kann ich sicher einen Platz am genau falschen Platz schlüpfen lassen rm -rf tmp/tests/*... - Rmano
1.) Die meisten Leute werden ihr Home-Verzeichnis für wichtiger halten als Root-Verzeichnisse, denn das erste Verzeichnis kann nicht neu installiert werden. Also ich verstehe deinen Standpunkt nicht. 2.) In puncto Sicherheit haben Sie Recht. Aber von Windows kommend (wo es viel mehr Malware gibt), wo ich den Admin-Account seit je benutzt habe (wie viele), fällt es mir schwer, dies als echte Gefahr zu betrachten. Ich bin einfach zu faul zum tippen sudo und mein Passwort für jeden zweiten Befehl in Linux. Sind Linux-Benutzer nicht faul ????? - Blauhirn
stimme nicht zu -_-: ~: | - Artful Aardvark
@LazyPower danke für die Bearbeitung deiner Antwort, aber jetzt verstehe ich es nicht mehr. Zum Ändern meines privaten Ubuntu ~ Ordners brauchen Programme keine sudo Rechte. Rhythmbox KANN lösche mein gesamtes $ HOME / Musik Verzeichnis! Und das ist alles, was mir wichtig ist! Wie verhält es sich mit Root-Berechtigungen? - Blauhirn
Das ist ein guter Ruf @Blauhirn. Ich habe gerade eine Follow-up-Bearbeitung geschickt, um zu reflektieren, dass wir nicht möchten, dass die Gesamtheit von / usr gelöscht wird. In Bezug auf den Schutz Ihrer $ HOME-Ordner kann nichts wie eine gute Sicherung Ihnen helfen. Ich glaube nicht, dass dieses spezielle Szenario so sehr mit der Sicherheit in Zusammenhang steht wie mit der guten Praxis. Danke nochmal für den Callout. - lazyPower


Nur ein Wort: Sicherheit.

  1. Du wurdest als root angemeldet = alle Anwendungen laufen mit root-Privilegien - jede Schwachstelle in Firefox, Flash, OpenOffice etc. kann dein System jetzt zerstören, weil mögliche Viren jetzt überall Zugriff haben. Ja, es gibt nur wenige Viren für Ubuntu / Linux, aber es ist auch wegen der guten Sicherheit und des voreingestellten unprivilegierten Benutzers.
  2. Es geht nicht nur um Viren - ein kleiner Fehler in einer Anwendung könnte einige Systemdateien löschen oder ...
  3. Wenn Sie als root angemeldet sind, können Sie alles tun - das System fragt nicht! Möchten Sie diesen Datenträger formatieren? Ok, nur ein Klick und fertig, weil du root bist und weißt, was du tust ...

73
2017-12-04 17:10



Datendateien, die alle meinem Benutzerkonto gehören, sind viel mehr wertvoll für mich als Systemdateien. Alle oben genannten Beispiele sind immer noch Probleme, wenn Sie als Benutzer angemeldet sind, außer dass die leicht austauschbaren Systemdateien gesichert sind. - kbeta
@kbeta Sie gehen davon aus, dass Sie auf einem Computer laufen, auf dem nur Ihre Daten und Systemdateien Wertgegenstände sind. In Wirklichkeit wird Linux oft in einem System verwendet, in dem viele Benutzer gleichzeitig ein System benutzen. In diesem Fall ist die Stabilität des Systems (und damit der Systemdateien) viel wertvoller und andere Benutzerdateien sind ebenfalls wichtig. - Eric Pauley
@kbeta Fair genug, aber eine beschädigte Systemkonfiguration kann auch ein Risiko für Ihre Daten darstellen ... und natürlich wäre eine Sicherung eine gute Idee, ob Ihr System aktuell gefährdet ist oder nicht. Working Current Backup mit einem Disaster Recovery-Plan wäre noch besser. - Pryftan


Als root auszuführen ist schlecht, weil:

  1. Dummheit: Nichts hindert dich daran, etwas Dummes zu tun. Wenn Sie versuchen, das System auf irgendeine Weise zu ändern, die schädlich sein könnte, müssen Sie Sudo tun, was ziemlich genau eine Pause garantiert, während Sie das Passwort eingeben, um zu erkennen, dass Sie eine mögliche große / teure Änderung vornehmen werden.
  2. Sicherheit:  Es wurde bereits einige Male in dieser Frage erwähnt, aber im Grunde ist es dasselbe, schwieriger zu hacken, wenn Sie das Login-Konto des Admin-Benutzers nicht kennen. root bedeutet, dass Sie bereits eine Hälfte des Arbeitssatzes mit Administratorrechten haben.
  3. Du brauchst es nicht wirklich: Wenn Sie mehrere Befehle als root ausführen müssen und Sie genervt sind, wenn Sie Ihr Kennwort mehrmals eingeben müssen, nachdem sudo abgelaufen ist, müssen Sie nur noch Folgendes tun sudo -i und du bist jetzt root. Möchten Sie einige Befehle mit Pipes ausführen? Dann benutze sudo sh -c "comand1 | command2".
  4. Sie können es immer in der Wiederherstellungskonsole verwenden:  Mit der Wiederherstellungskonsole können Sie versuchen, sich von etwas Dummem zu erholen oder ein Problem zu beheben, das durch eine App verursacht wurde (die Sie noch als sudo ausführen mussten :)) Ubuntu hat in diesem Fall kein Passwort für das root-Konto, aber Sie können Suche online, um das zu ändern, dies macht es schwieriger für jeden, der physischen Zugang zu deiner Box hat, um Schaden anrichten zu können.

Der Grund, warum Sie keine Informationen darüber finden konnten, warum es schlecht ist, liegt darin, dass es im Internet viel zu viele Daten gibt :) und dass viele Leute, die Linux schon lange benutzen, denken, dass Sie es tun. Diese Art des Nachdenkens über den root-Account ist ziemlich neu (ein Jahrzehnt vielleicht?) Und viele Leute werden immer noch genervt, wenn sie sudo benutzen müssen. Vor allem, wenn sie an einem Server arbeiten, also mit der Absicht, Systemänderungen vorzunehmen. Vermutlich aufgrund früherer schlechter Erfahrungen und Sicherheitsstandards, wissen die meisten Systemadministratoren besser, aber sie mögen es immer noch nicht :).


45
2017-12-04 18:43



"Vielleicht ein Jahrzehnt?" Viel länger als das, seit du das geschrieben hast. Auch ohne Sudo gibt es su, um z.B. die Radgruppe (zum Beispiel). Die Privilegientrennung ist immer wichtig und war immer wichtig und wird immer wichtig sein. Otoh, nicht viele Leute haben Unix-basierte Betriebssysteme vor vielen Jahren benutzt und viele, die es gewohnt sind, immer Administrator zu sein. - Pryftan


Das ist eine gute Frage. Ich denke, die Antwort ist etwas unterschiedlich, je nachdem, ob Sie über einen Server oder eine Desktop-Installation sprechen.

Auf einem Desktop ist es ungewöhnlich, das zu verwenden root Konto. Tatsächlich wird Ubuntu mit root-Zugriff deaktiviert. Alle Änderungen, die Superuser-Privilegien erfordern, werden erledigt sudo und seine grafischen Verwandten gksudo und kdesudo. Angesichts der Tatsache, dass es einfach ist, ein root Passwort, warum tun es die Leute nicht?

Ein Grund ist, dass es Ihnen eine zusätzliche Sicherheitsebene gibt. Wenn Sie ein Programm als ausführen root und ein Sicherheitsfehler wird ausgenutzt, der Angreifer hat Zugriff auf alle Daten und kann die Hardware direkt steuern. Zum Beispiel könnte es einen Trojaner oder Key-Logger in Ihren Kernel installieren. In der Praxis kann ein Angriff jedoch auch ohne Superuser-Privilegien großen Schaden anrichten. Schließlich sind alle Benutzerdaten - einschließlich Dokumente und gespeicherte Passwörter - ohne Root-Zugriff zugänglich.

Ein gültiger Punkt auf einem Einzelbenutzersystem ist, dass der Benutzer daran gehindert wird, das System versehentlich unbrauchbar zu machen. Wenn der Benutzer unabsichtlich einen Befehl ausgibt, der alle Dateien löscht, können sie das System trotzdem starten, selbst wenn die Daten verloren gehen.

Darüber hinaus basieren die meisten Anwendungen für Benutzer (X11) heute auf der Annahme, dass sie als reguläres Benutzerkonto und ohne Administratorrechte ausgeführt werden. Daher können sich einige Programme beim Ausführen als fehlerhaft verhalten root.

Bei einem Mehrbenutzersystem mit nicht grafischem Shell-Zugriff gelten viele dieser Gründe nicht. Ubuntu ist jedoch immer noch standardmäßig auf einen unzugänglichen Standard eingestellt root Konto. Zum einen gibt es einen echten Unterschied zwischen dem Zugriff auf ein Benutzerkonto (mit sudo Rechte) durch ein Sicherheitsloch und Zugang zu rootWie im ersten Fall müssen andere Benutzer gestört werden sudo und wird immer noch zur Eingabe des Kontopassworts als zusätzlicher Sicherheitsschritt aufgefordert. Zum anderen ist es sinnvoll, viele administrative Aufgaben von einem Benutzerkonto aus auszuführen und nur aufzurufen sudowenn die Superuser-Privilegien unbedingt benötigt werden. Wenn Sie also ein Programm von der Quelle installieren, ist es ratsam, die Quelle zu erstellen configure und make - Innerhalb des Benutzerverzeichnisses und nur mit sudo make install im letzten Schritt. Dies macht es wiederum schwieriger, sich selbst (und andere Benutzer des Mehrbenutzersystems) in den Fuß zu schießen, und es verringert die Wahrscheinlichkeit, dass Build-Skripte das System verheerenden. Selbst auf einem Server ist es daher ratsam, bei Ubuntu zu bleiben sudo-basierte Verwaltung.


36
2017-12-04 17:24



he will still be able to boot the system, even if the data will be lost. - Worum geht es hier? Wenn meine Daten verloren gehen, sind meine Daten verloren und das war's. Linux-Systemsoftware kann neu installiert werden, wenn sie gelöscht wird. Warum sollte ich mich über Datenverlust in solchen Verzeichnissen Gedanken machen? Auf der anderen Seite, Datenverlust in ~ ist schlecht. Und sudo schützt mich davor nicht. - Blauhirn
Eine weitere gute Praxis besteht darin, wichtige Daten zu sichern. Wenn Sie das Home-Verzeichnis löschen, können Sie immer noch booten und nur Dateien aus dem Backup kopieren. Oder nehmen wir an, Sie haben einen kleinen Laptop für die Reise. Es könnte einige Bilder, Reiseberichte, Zugfahrplan haben - aber nichts zu entscheidend. Wenn Sie die Benutzerdateien löschen, können Sie das System noch starten und für Ihren Flug einchecken oder herausfinden, welcher Bus Sie nehmen möchten. - Richlv
@Blauhirn Backups. Und es gibt eine Chance auf Genesung, auch wenn es düster aussieht. - Pryftan


Ein Grund, nicht als root zu laufen, der (noch) nicht durch andere Antworten identifiziert wurde, ist die Rückverfolgbarkeit. Es spielt wahrscheinlich weniger auf Maschinen eine Rolle, die hauptsächlich Ein-Benutzer-Maschinen (Ihr Desktop oder Laptop) sind, aber auf Server-Maschinen, wenn jemand als eingeloggt ist rootSie wissen nicht, wer für die getroffenen Maßnahmen verantwortlich ist. Daher sind die meisten professionellen Organisationen mit mehreren Systemen und mehreren Administratoren, die benötigen root Berechtigungen erfordern, dass sich Benutzer mit ihrer eigenen Benutzer-ID (und ihrem eigenen Kennwort) anmelden und dann verwenden sudo oder ähnliche Programme zum Arbeiten mit root Privilegien wenn nötig.

Andernfalls lauten die Hauptgründe dafür, dass Sie nicht als root ausgeführt werden:

  • Minimieren Sie das Risiko von Schäden durch Unfälle. Wenn du läufst rm -fr / home/me/my-subdir als root, dann hast du gerade dramatisch alles was wichtig ist von deiner maschine wegen dieses platzes nach dem (ersten) slash gelöscht - weil das Zeug, das zuerst geht, das Zeug ist, das zuerst hinzugefügt wurde - kleine Dinge wie der Kernel, der /bin und das /etc Verzeichnis. Unix wird verärgert, wenn Sie diese verlieren.

  • Minimieren Sie das Risiko von Schäden durch bösartige externe Websites. Wenn Sie als suchen rootSie sind eher anfällig für Drive-by-Downloads von bösartigem Material.

Ich benutze MacOS X mehr als ich Ubuntu, aber dort ist root standardmäßig deaktiviert, und es ist immer noch auf meinem Rechner. Ich aktualisiere routinemäßig den Kernel und andere ähnliche Operationen - mit sudo (hinter den Kulissen). Ähnliche Techniken gelten im Allgemeinen für Linux.

Grundsätzlich sollten Sie nur die allmächtigen Privilegien von root für verkürzte Arbeitszeiten, um das Risiko von Fehlern zu vermeiden.


31
2017-12-04 23:10



Es geht nicht darum, jemandem die Schuld zu geben, es geht darum herauszufinden Warum jemand hat eine Änderung vorgenommen. - jippie
@jippie: Ich meine "Schuld" in der gleichen Weise, wie ein VCS verfolgt, wer was getan hat, damit die richtige Person mit der Verantwortung für die Änderung, für gut oder schlecht, und einen der Namen für den Befehl, der das Tracking tut zugeschrieben wird ist "Schuld". Es gibt Ihnen eine Person zu sprechen, um herauszufinden, warum etwas passiert ist. Es ist nicht immer "Schuld" (obwohl deprimierend oft, der Grund dafür zu wissen ist, weil etwas nicht wie erwartet funktioniert und es gibt eine Notwendigkeit zu wissen, warum nicht). Es geht also um Verantwortlichkeit und Nachvollziehbarkeit, anstatt die Person für das, was sie getan hat, zu beschuldigen. - Jonathan Leffler
Unter Ubuntu, Befehle wie rm -fr / home/me/my-subdir Versuchen Sie nicht, rekursiv zu löschen /, weil / wird speziell behandelt, um solchen Fehlern vorzubeugen. Siehe die Dokumentation des --preserve-root und --no-preserve-root Optionen in man rmfür Details. Aber das Prinzip ist Sound: Tippfehler machen existieren, die resultieren rm alles löschen. Zum Beispiel, wenn Sie alles im aktuellen Verzeichnis durch Ausführen entfernen möchten rm -r *, aber du hast versehentlich ein / Vor *das wäre schlecht. - Eliah Kagan
@EliahKagan Aber wenn du es tun würdest ... chown -R nobody:nobody ../ von sagen / etc würde es dich schützen? Wenn du das auf / etc tun würdest, würde es dir eine Welt der Verletzung verursachen. Ähnlich ist es .* wenn ein Befehl rekursiv ausgeführt wird. - Pryftan


TL; DR: Tun Sie Dinge nur dann als root, wenn Sie müssen. sudo macht das ziemlich einfach. Wenn Sie Root-Logins aktivieren, können Sie dieser Regel immer noch folgen, Sie müssen nur vorsichtig sein. Obwohl das Aktivieren von Root-Logins nicht wirklich unsicher ist, müssen Sie Root-Logins nicht aktivieren, weil Sie dies getan haben sudo.


20
2018-05-03 17:12



"Wenn Sie die einzige Person sind, die Ihren Computer verwendet, ist der Schaden, den Sie nur als root anrichten können, möglicherweise nicht höher als der Schaden, den Sie mit Ihren normalen Benutzerrechten verursachen können. Aber das ist immer noch kein Grund, Ihr Risiko zu erhöhen. "Nicht zu erwähnen, es bringt Sie dazu ... dann gehen Sie zu einem anderen System und was passiert? Gleiches gilt für die absurde Idee, Menschen dazu zu bringen, sich daran zu gewöhnen rm -i über Shell-Alias. Du gehst zu einem System, das das nicht hat und was dann? Ein Benutzer aus solchen Fehlern zu sitzen ist nie eine gute Idee, wenn man bedenkt, dass Menschen sehr Gewohnheitstiere sind. - Pryftan


Root-Konto ist standardmäßig deaktiviert - was bedeutet, dass es existiert, aber nicht verwendbar ist (außer im Wiederherstellungsmodus). Dies bedeutet, dass ein Angreifer Ihr root-Konto kennt, aber nicht verwenden konnte, selbst wenn er das root-Passwort hatte. Daher muss ein Angreifer sowohl einen Benutzernamen erraten, der über Administratorrechte verfügt, als auch das Passwort dieses Benutzers (was weitaus schwieriger ist, als nur das root-Passwort auszuarbeiten). In XP, wenn Sie die Wiederherstellungskonsole installiert haben, wer hat physischen Zugang zu Ihrer Box kann hinein booten (RC) - kein Passwort erforderlich. Genauso wie der Wiederherstellungsmodus in Ubuntu.

In Ubuntu, wenn sie sagen, dass der root deaktiviert ist - was wirklich gemeint ist, ist, dass das Konto gesperrt ist. Ein Konto wird gesperrt, indem das Kennwort in einen Wert geändert wird, der keinem möglichen verschlüsselten Wert entspricht. Dies verhindert effektiv, dass sich jemand als root anmelden kann - da es keine Möglichkeit geben würde, das Passwort einzugeben. Da es immer noch Zeiten gibt, in denen der Root-Zugriff notwendig ist, wurde der Ubuntu-Kernel so modifiziert, dass die lokale Root-Anmeldung nur im Single-User-Modus möglich ist.

Sieh das auch Seite


13
2017-12-04 17:18



Äh. Nichts für ungut, aber vielleicht möchtest du den Titel der Frage lesen und dann die Details noch einmal lesen. - Mussnoon
Das ist sehr hilfreich - und es tut beziehen sich auf die Frage. Es befasst sich mit den Sicherheitsauswirkungen der Aktivierung des Accounts, eine Voraussetzung für die Ausführung als root. - Stefano Palazzo♦
@Stefano Palazzo: Während die bereitgestellten Informationen nützlich sein können, kann ich wirklich nicht sehen, in welchem ​​Teil eine Antwort auf das ist, was ich wissen musste. Ich habe es mehrmals gelesen. - Mussnoon
Verhindert nicht, dass sich Benutzer bei root anmelden können. - Chad