Warum muss ich sudo für fast alles verwenden?

64

Wenn ich die Linux-Philosophie richtig verstehe, sudosollte sparsam damit umgegangen werden, und die meisten Vorgänge sollten als Benutzer mit unzureichenden Rechten ausgeführt werden. Aber das scheint nicht sinnvoll zu sein, da ich immer Eingaben machen muss sudo, ob ich Pakete verwalte, Konfigurationsdateien bearbeite, ein Programm aus dem Quellcode installiere oder was Sie haben. Dies sind nicht einmal technische Dinge, sondern alles, was ein normaler Benutzer tut.

Es erinnert mich sehr an die Windows-Benutzerkontensteuerung, die entweder deaktiviert oder so konfiguriert wird, dass kein Kennwort erforderlich ist (nur ein Klick). Darüber hinaus sind die Windows-Benutzer vieler Benutzer auch Administratorkonten.

Ich habe auch gesehen, dass einige Leute Befehle anzeigen, für die sudoBerechtigungen ohne erforderlich sind sudo. Haben sie ihr System so konfiguriert, dass sudoes nicht erforderlich ist?

user139248
quelle
25
Sie müssen verwenden sudo, um Änderungen am System vorzunehmen. Wenn Sie nur auf Ihren eigenen Dateien / Desktops arbeiten, haben Sie keine Auswirkungen auf andere Benutzer. Sie benötigen daher keine erhöhten Berechtigungen. Wenn Sie privilegierte Befehle ohne sudo ausführen, sind Sie wahrscheinlich bereits ein Superuser (dh root) und das ist normalerweise weniger ratsam als die Verwendung von sudo für die spezifischen systemweiten Aufgaben
Eric Renouf,
75
"Installieren eines Programms aus dem Quellcode ... alles, was ein normaler Benutzer tut" --- Ich denke, Sie haben die technischen Fähigkeiten normaler Benutzer überschätzt.
Jonathan Cast
7
Verwenden Sie, sudowenn Sie nicht sollten? Ein normalen Unix - Benutzer-Befehle zum größten Teil aus bestehen sollten cd, ls, Verschieben, Kopieren, Entfernen und Bearbeiten von Dateien , die sie Zugriff haben. Wenn Ihre üblichen Befehle nicht aus diesen bestehen, sind Sie wahrscheinlich kein regulärer Unix-Benutzer.
user530873
20
Kleiner Tipp: Wenn Sie etwas tun, das sudo erfordert, aber vergessen haben, sudo in Ihren Befehl einzufügen, können Sie den Befehl, den Sie sudo !!zuletzt mit sudo eingegeben haben, erneut ausführen.
Asfallows
6
Verbringen Sie nicht die meiste Zeit mit der von Ihnen installierten Software? Das sollte kein Sudo beinhalten. Wenn nicht, warum installieren Sie es?
OrangeDog

Antworten:

75

Sie haben diese Systemverwaltungsfunktionen erwähnt

Verwalten von Paketen, Bearbeiten von Konfigurationsdateien, Installieren eines Programms von der Quelle

als Dinge, die

Alles, was ein normaler Benutzer tut

In einem typischen Mehrbenutzersystem sind dies keine gewöhnlichen Benutzeraktionen. Ein Systemadministrator würde sich darüber Sorgen machen. Normale Benutzer (nicht "unterprivilegiert") können das System dann verwenden, ohne sich um die Wartung zu kümmern.

Ja, auf einem Heimsystem müssen Sie das System nicht nur verwalten, sondern auch verwenden.

Ist es wirklich so schwer zu benutzen sudo? Denken Sie daran, dass wenn es nur Ihr System ist, es keinen Grund gibt, warum Sie entweder nicht in eine rootShell einsteigen können ( sudo -s- in diesem Beitrag finden Sie eine Übersicht über die verschiedenen Methoden zum Abrufen einer Root-Shell) und / oder konfigurieren, dass Sie sudonicht zur Eingabe eines Kennworts aufgefordert werden.

Roaima
quelle
47
Es gibt keinen Grund, warum Sie [...] sudo nicht so konfigurieren können, dass Sie nicht zur Eingabe eines Passworts aufgefordert werden. Ich würde es nicht empfehlen, wenn Sie ein bösartiges Skript starten, das als Root auf Ihrem System fungieren kann.
AL
5
Wenn die Eingabe des sudo-Passworts Sie so sehr stört, dass Sie die Passworteingabe im Grunde automatisch steuern, hilft dies auch nicht. Sie müssen Vernunft mit Sicherheit in Einklang bringen. Ich habe Autopilot-Sudo mindestens einmal große Teile des Betriebssystems gelöscht.
Nelson
33
Persönlich liebe ich sudo- es ist wie ein Gesundheitscheck.
Max Williams
6
@MaxWilliams, ja genau, es ist diese kleine durchsichtige Plastikklappe über dem großen roten Knopf, die fragt, ob Sie wirklich wissen, was Sie tun?
KlaymenDK
15
@AL: Wenn ich ein unbekanntes Skript ausführen möchte, sollte es nicht böswillig sein oder ich bin verrückt, ob es sudo ausführt oder nicht. Auf meinem persönlichen Desktop sind meine eigenen (Nicht-Root-) Daten wichtig, nicht die (Root-) Konfiguration der Maschine an sich.
jrw32982
31

Sudo / Root wird immer dann verwendet, wenn Sie etwas tun, was ein Standardbenutzer nicht in der Lage sein sollte, das Risiko einer Beschädigung / Änderung der Systemkonfiguration in einer Weise zu tragen, die der Administrator des Systems normalerweise nicht zulässt.

ob ich Pakete verwalte, Konfigurationsdateien bearbeite, ein Programm von der Quelle installiere oder was Sie haben.

Alle diese Funktionen sind technisch gesehen Verwaltungsfunktionen und können Ihr System drastisch beschädigen, wenn etwas falsch gemacht wird. In einer Unternehmensumgebung, als Sysadmin, sind dies Dinge, die ich meinem Benutzer NICHT ohne mein ausdrückliches Wissen überlassen würde, daher sudo.

Wenn beispielsweise eine Paket- / Konfigurationsdatei ohne erhöhte Berechtigungen geändert werden könnte, wäre es für eine externe Quelle äußerst einfach, einfach Remotecode auszuführen, der Ihr System beschädigen oder gefährden könnte. Indem Sie diese Aktionen dazu zwingen, Root-Zugriff zu benötigen, müssen Sie als Benutzer entscheiden, ob diese Aktionen ausgeführt werden oder nicht.

Es ist sehr ähnlich UACmit Windows, es ist eigentlich, wo Windows die Idee für bekam UAC.

Das Zitat, das Sie erhalten, wenn Sie sudo zum ersten Mal verwenden, ist sehr passend und sehr wichtig:

Wir vertrauen darauf, dass Sie den üblichen Vortrag vom lokalen Systemadministrator erhalten haben. Normalerweise läuft es auf diese drei Dinge hinaus:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Vor allem Nr. 2: Denken Sie nach, bevor Sie tippen. Das ist ein wichtiger Grund, warum es sudo gibt, wenn Sie einen Befehl eingeben und er "muss root sein, um diese Aktion auszuführen" zurückstößt. Er zwingt Sie, anzuhalten und darüber nachzudenken, was Sie tatsächlich tun.

Soße
quelle
19

Ich habe auch gesehen, dass einige Leute Befehle anzeigen, für die sudoBerechtigungen ohne erforderlich sind sudo. Haben sie ihr System so konfiguriert, dass sudoes nicht erforderlich ist?

Sie müssen diese Befehle als Superuser ausführen, aber nicht mit sudo. Sie könnten zum Beispiel stattdessen suoder doas(OpenBSD-Ersatz für sudo) verwenden oder sich einfach als root anmelden.

Wenn sie also ihre Befehle hier anzeigen, ohne sudodass sie davon ausgehen, dass der Leser nur seine bevorzugte Art der Ausführung dieser Befehle als Superuser verwendet.
Dies bedeutet sicherlich nicht, dass sie diese Befehle als normaler Benutzer ausführen können.

Thomas Weinbrenner
quelle
4
Sie können auch sudo -io.ä. verwenden, um eine Root-Shell abzurufen und anschließend die Ausführung Ihrer Root-Befehle zu starten, ohne dass Sie jedem sudo
Befehl
2
In der Regel werden Schritte, die als root ausgeführt werden müssen, mit einer root-Eingabeaufforderung angezeigt, z. B. # vi /etc/hostsanstelle einer nicht privilegierten Eingabeaufforderung $ vi /etc/hosts(Bash folgt der Konvention, wenn Sie \$in verwenden PS1)
Gert van den Berg
16

Ein Sicherheitsmerkmal von sudoist, dass Sie ein System ohne rootKennwort haben können , sodass sich der rootBenutzer nicht direkt anmelden kann. Dies bietet zusätzlichen Schutz für Benutzer, die schwache Kennwörter auswählen - der Angreifer, der versucht, das Kennwort brutal zu erzwingen (über SSH oder auf andere Weise), muss zuerst einen gültigen Benutzernamen ermitteln.

Ein weiterer Aspekt ist eine differenziertere Rechteverwaltung. Denken Sie an make; sudo make installvs make; make installals root zu tun . Vieles kann dabei schief gehen make. Ein schlecht konfiguriertes Tool kann versuchen, eine wichtige Systemdatei zu überschreiben, das /libanstelle des aktuellen Verzeichnisses zu "säubern", den gesamten verfügbaren RAM zu verbrauchen und das System zu hängen usw. Dies make installist eine kleine, einfache Aktion mit viel geringerer Wahrscheinlichkeit für einen schwerwiegenden Fehler.

Dmitry Grigoryev
quelle
1
Und selbst wenn ein Root-Kennwort konfiguriert ist, können Sie einem Benutzer Zugriff auf Befehle gewähren, die Root-Berechtigungen erfordern, ohne ihm das Root-Kennwort zu geben. Wenn es sich also um einen Unternehmensserver handelt und er gefeuert wird, müssen Sie nur seinen Benutzer deaktivieren , ohne das root-Passwort ändern zu müssen.
Gert van den Berg
13

Der Punkt ist, dass historisch gesehen ein System wirklich von mehreren Benutzern gemeinsam genutzt werden soll, die sich nur anmelden, einige Dinge erledigen und sich dann abmelden. Also die Unterscheidung zwischen Admin und normalem User. Solche Systeme gibt es immer noch in Universitätslabors, und Sie können den Unterschied deutlich spüren, wenn Sie solche Computer verwenden. Ein Heim-PC, auf dem Sie der einzige Benutzer sind und zufällig als Administrator fungieren müssen, ist eine viel spätere Entwicklung.

xji
quelle
6
"Existiert immer noch in Universitätslabors" ... ja, und jedes technologiezentrierte Unternehmen auf dem Planeten, und die meisten nicht-technischen auch. Trotzdem +1 für die genaue Unterscheidung, dass das OP offensichtlich fehlt und dass die meisten anderen Antwortenden dies nicht betont haben.
Wildcard
@Wildcard Lol sicher. Stellen Sie einfach das Beispiel vor, das mir sofort in den Kopf gesprungen ist.
xji
10

Ein Computer ist ein Werkzeug. Versuchen wir eine Analogie mit einem anderen Werkzeug, sagen wir eine Bratpfanne. Manchmal muss man auf die Pfanne aufpassen. Zum Beispiel müssen Sie es mit Spülmittel reinigen. Würden Sie sagen, dass Spülmittel eine notwendige Zutat für jedes Rezept ist, für das Sie die Pfanne verwenden? Sie werden nie "Spülmittel" als Zutat in Kochbüchern finden. Es wird benötigt, aber die Vorbereitung des Werkzeugs ist eine andere Angelegenheit, daher wird es in den Kochbüchern nicht erwähnt. Die Pfanne muss gereinigt werden, aber es ist nicht das, wofür es gemacht ist.

Für Ihren Computer ist es ähnlich. Es muss konfiguriert und gepflegt werden, aber es ist nicht das, wofür es gemacht ist. Sie kümmern sich darum, Sie konfigurieren es, damit es richtig funktionieren kann. Sobald dies erledigt ist, können Sie es nicht als Systemadministrator, sondern als Benutzer verwenden. Dafür ist es gemacht. Wenn Sie ein Benutzer sind, brauchen Sie kein sudo mehr. Verwenden Sie einfach das zuvor vorbereitete Tool. Natürlich müssen Sie von Zeit zu Zeit Root-Rechte verwenden, genauso wie Sie Ihre Bratpfanne so oft reinigen müssen, wie Sie sie zum Kochen verwenden.

Ohne zu viel zu übertreiben, können wir also sagen, dass Sie niemals sudo (oder das root-Passwort) benötigen , um Ihren Computer zu benutzen. Nur um Ihren Computer vorzubereiten.

user2718996
quelle
2
Tolle Analogie, aber manchmal braucht man diese Seife, um ein paar böse verkohlte Reste aus der Pfanne zu holen, bevor man die Rühreier brät. Mit einem Computer, den Sie besitzen, können Sie ihn fast sofort mit "waschen" / "braten" sudooder Sie gehen einfach zum Meisterkoch und machen einen su.
Armfoot
Scheint, als müssten Sie zum Kochen Root-Zugriff benötigen, da dies gefährlicher ist.
Dienstag,
6

Ich wette, das liegt daran, dass Sie GUI-Software für alles außer für Systemadministrationsaufgaben verwenden oder über Linux-Server sprechen. In diesem Fall wird der meiste Zugriff natürlich über die Systemadministration erfolgen. Daher könnte es sich anfühlen, als würde man überhaupt etwas in der Shell tun müssen sudo.

Es ist auch möglich, die Shell für Ihre täglichen Aufgaben zu verwenden. Verwalten Sie Ihre persönlichen Dateien in ~, bearbeiten Sie Dateien, chatten Sie im IRC, kompilieren Sie Code, surfen Sie im Internet - all das ist in einer Shell möglich. Ich benutze es sogar bcals Taschenrechner. Einige Dinge sind einfacher über eine GUI zu erledigen, andere sind einfacher über die Shell zu erledigen - selbst wenn Sie die GUI bevorzugen, ist die Shell bei Batch-Operationen und Automatisierung oft überragend (man denke an Shell-Skripte). Persönlich verwende ich das, was für die jeweilige Aufgabe am besten ist.

In einigen Fällen ist es eine gute Idee, Ihr System so einzurichten, dass Sie es nicht sudojedes Mal für Vorgänge verwenden müssen, für die standardmäßig Root erforderlich ist, die jedoch wahrscheinlich keine Probleme verursachen. Ein Beispiel ist, dass ich mit Hardware arbeite, bei der serielle Schnittstellen verwendet werden, und ich habe udev-Regeln eingerichtet, um als normaler Benutzer Zugriff auf die Geräte zu gewähren, ohne root sein zu müssen.

Ich denke nicht, dass es eine gute Idee ist, so zu konfigurieren sudo, dass kein Passwort erforderlich ist. Es macht es zu einfach, Ihr gesamtes System mit einem falsch geschriebenen Befehl oder einem böswilligen Skript durcheinander zu bringen.

Wenn Sie Aufgaben ausführen müssen, für die ständig root erforderlich ist, können Sie eine permanente sudo -sRoot-Shell in einem Terminalfenster laufen lassen. Dann ist es verfügbar, ohne dass Sie das Kennwort eingeben müssen, und es ist nicht so einfach, es aus Versehen zu verwenden. Ich habe sogar meine Shell-Eingabeaufforderung so eingerichtet, dass sie in einer Root-Shell hellrot ist.

Matti Virkkunen
quelle
5

[...] Aber das scheint nicht sinnvoll zu sein, da ich immer sudo eingeben muss, ob ich Pakete verwalte, Konfigurationsdateien bearbeite, ein Programm aus dem Quellcode installiere oder was Sie haben. [...]

Das implizite Adjektiv im Zusammenhang mit all diesen ist, dass es sich um systemweite oder globale Änderungen handelt. Sie müssen die Ursprünge von Unix als Mehrbenutzersystem 1 betrachten, bei dem mehrere Benutzer dieselbe Installation remote verwenden würden. Für einen Laien wäre es nicht sinnvoll, die globalen Einstellungen für alle Benutzer zu ändern. Es war der Sysadmin, der Root, das Privileg und die Verantwortung.

In einer Multi-User - Einstellung , die Sie mit der vorinstallierten Software und deren systemweite Konfiguration unter haben /usrund /etcjeweils. Das Berühren dieser Stellen würde Root-Berechtigungen erfordern. Da die Unix-Software jedoch für mehrere Benutzer geschrieben wurde, können Sie Software unter $HOME Verzeichnis 2 kompilieren und installieren und Ihre eigenen Konfigurationsdateien unter Ihrem Heimverzeichnis haben, in denen Sie die Dateien frei bearbeiten können, ohne ein Superuser zu sein.

Zusätzlich zur Installation Ihrer eigenen Software zu Hause liest die meiste systemweite Software die benutzerspezifische Konfiguration $HOMEdirekt nach dem ersten Lesen der Konfiguration aus /etc. Auf diese Weise können Sie fast alles anpassen, ohne jemals gehen zu müssen root.

Mit einem Heim-PC können Sie in einer einzigen sudoHauptbenutzereinstellung Ihren Weg zu den Dingen, die Ihnen gefallen, verwenden und sich darauf einlassen. Es ist jedoch üblich , die Anwendungskonfiguration nicht zu berühren, /etcsondern zu Hause immer eine benutzerspezifische Konfiguration bereitzustellen. Auf diese Weise können Sie Ihrem Paketmanager erlauben, systemweite Konfigurationen bei Upgrades zurückzusetzen. Die systemweite Installation neuer Software ist in der Einzelbenutzereinstellung in Ordnung. Distributionspakete gehen nicht von Alternativen aus, daher ist dies ein einfacher Ausweg.

Ich lasse meinen Paketmanager alles global installieren, aber alles, was aus Quellen kompiliert und selbst gemacht wurde $HOME. Und ich muss für nichts von alledem sudo.

Wenn Sie Datendateien haben, die außerhalb Ihrer $HOME, chownoder in chgrpden Verzeichnissen Ihres Namens gespeichert sind, können Sie ohne Zugriff auf die Dateien zugreifen sudo.

[1] (etwas ironisch, da Unix als Einzelbenutzerversion des Multics-Betriebssystems gedacht war)

[2] (wenn das System dies zulässt, indem keine Home-Partitionen als noexec gemountet werden)

unperson325680
quelle
2

Bei den Arten von Multi - User - Systemen , die UNIX (und durch den Abstieg, Linux) für entworfen wurde, sind diese nicht gewöhnliche Benutzer Aktionen . Möglicherweise führt ein Systemadministrator sie aus, jedoch keine typischen Benutzer. Daher fragt das System, ob der Sysadmin dies tatsächlich tun möchte.

Aber selbst in Heimsystemen für Einzelbenutzer sind dies keine gewöhnlichen Benutzeraktionen . Normalerweise muss man dies beim erstmaligen Einrichten des Systems tun, aber sobald dies abgeschlossen ist, sollte ein typischer Benutzer dies nicht mehr oft tun müssen . Die meisten typischen Benutzer bearbeiten nur Dateien in ihrem Ausgangsverzeichnis (oder dessen Unterverzeichnissen) mit bereits installierten Programmen / Paketen, und das brauchen Sie nicht sudo. Sie können auch in einem speziellen Verzeichnis auf dem System arbeiten, das für diesen Zweck reserviert wurde, und Sie müssen sudodas einrichten, müssen es jedoch in der Regel nur einmal.

Warum spielt das eine Rolle? Weil "Einzelbenutzer" eine falsche Bezeichnung ist: Sie sind nicht der einzige Benutzer Ihres Computers, auch wenn Sie möglicherweise der einzige menschliche Benutzer sind . Selbst bei einer typischen Linux-Heiminstallation sind viele Programme so konfiguriert, dass sie den Computer auf unterschiedliche Weise verwenden. Oft simulieren sie etwas, was ein Mensch tun könnte, wenn er Zeit und Aufmerksamkeit hätte: Backups, Updates, Malware-Scans und das mögen. Meistens sind diese Verwendungszwecke völlig harmlos, aber selbst für einige von ihnen ist es immer noch ratsam, sicherzustellen, dass der Benutzer dies wirklich möchte. Und wenn diese Fälle auftauchen, dann ist es das, wofür sudo. Der Computer checkt nur ein, um sicherzustellen, dass Sie es wirklich sind, der das tun möchte, was jemand (vielleicht Sie, vielleicht ein Programm) gesagt hat. Dabei geht es nicht einmal um die Möglichkeit von Malware, die Sie auf keinen Fall als solche tarnen möchten.

Der Löffeligste
quelle
1

Dies ist wahrscheinlich nicht so häufig wie dargestellt, tritt jedoch normalerweise dann auf, wenn ein gelegentlicher interner Aufruf eines viel allgemeineren privilegierten Systems erforderlich ist, um das Ergebnis zu erzielen. Beispiel:

  • USB-Stick aushängen und mitnehmen. umountist ein ernstzunehmender Befehl, da man damit viele Dinge abhängen kann.
  • Stellen Sie eine Verbindung zum lokalen drahtlosen Netzwerk her. Nichts Außergewöhnliches, aber die Netzwerkkonfiguration ( ifupusw.) ist nur für Superuser.
  • Selbstaktualisierende Apps, die sich weigern, ausgeführt zu werden, wenn sie nicht aktualisiert werden. Update = installieren, und dies könnte eine Menge Dinge installieren, einschließlich Dinge, die Sie nicht wollen.

Die Systeme werden im Allgemeinen weiterentwickelt, um die Anzahl solcher Fälle zu verringern. USB-Sticks können jetzt vom Benutzer montiert werden und Netzwerke können vom Benutzer verbunden werden. Das war aber nicht immer so.

h22
quelle
0

Annahme: Dies ist Ihr System und Ihre Daten.

Sie müssen nur das Risiko sudoabwägen, versehentlich Daten zu löschen oder Ihr Betriebssystem zu beschädigen, im Vergleich zu der Leichtigkeit, Dinge zu erledigen, ohne sie jedes Mal eingeben zu müssen.

Ich melde mich routinemäßig an und arbeite als root auf meinen Heimservern, weil ich kann es ist einfacher.

Ihnen wird gesagt, dass Sie möglicherweise Atomwaffen abschießen, wenn Sie nicht durch den Heiligen gehen, sudoaber die Realität sieht so aus, dass die Menschen heute rootauf vielen Geräten (Ihrem Fernseher, Ihrem Telefon, Ihrem Toaster, Ihrem Windows (as)) Kräfte (*) haben du erwähntest)). Linux ist hier nicht anders, obwohl viele gerne anders denken.

BTW UACwurde nicht als Vorbild herangezogen, sudoda seine männliche Rolle (abgesehen davon, dass Ihr Leben miserabel wird) darin besteht, sicherzustellen, dass Sie sehen, wann Malware Dinge in Ihrem Namen tun möchte.

(*) rootKräfte sind definiert als die Fähigkeit, wichtige Daten zu zerstören. Das Sprichwort "mit großer Macht kommen große Probleme" (oder was auch immer das war) gilt.

Wenn meine Annahme falsch ist, müssen Sie das obige Risiko trotzdem gewichten, aber es gibt weitere Variablen (Ihren Job, Fotos, die von Ihrem Ehepartner aufgenommen und auf demselben Laptop gespeichert wurden, ...)

WoJ
quelle
1
Wurzelkräfte sind nicht die Fähigkeit, wichtige Daten zu zerstören. Sie können immer rm -rf ~/ohne besondere Erlaubnis. Auf der anderen Seite können Sie Ihr Mobiltelefon oder Ihren Fernseher nicht ausgemauert haben, ohne ihn vorher zu rollen.
Dmitry Grigoryev
Ein Gerät ist genauso nützlich wie die darin gespeicherten Daten und die von ihm bereitgestellten Dienste. Die Hardware und das Betriebssystem, die unten aufgeführt sind, sind reine Handelsware. Die Macht ist also, wo Sie Dienste oder Daten auswirken können. Auf einem Fernsehgerät können Sie alle Ihre Einstellungen löschen - das Fernsehgerät ist unbrauchbar (bevor die Daten wiederhergestellt werden). Sie können alle Ihre Daten auf einem Mobiltelefon löschen, das dann ohne Verwendung zu einer Hardware wird. Das habe ich mit "Root Power" gemeint
WoJ 20.10.15
1
In der Tat ist die Bezeichnung "Root Power" ein Missbrauch. Das Wort "root" ist bereits überladen, um mindestens drei verschiedene Dinge zu bedeuten (der root-Benutzer, das / -Verzeichnis und das / root-Verzeichnis), und das Hinzufügen eines weiteren ist nicht hilfreich. Auf einem Einzelbenutzer-Computer schützt ihn die Unfähigkeit, bestimmte Verwaltungsaufgaben ohne Verwendung von sudo auszuführen, vor verschiedenen schlechten Dingen, auch wenn der nicht privilegierte Benutzer bereits seine eigenen Dateien löschen kann.
Monty Harder
1
Ihre TV-Analogie ist nicht gut. Das Löschen der Einstellungen auf Ihrem Fernsehgerät entspricht dem Löschen Ihrer Benutzerkonfigurationsdateien unter Linux. Dabei wird das System in der Regel nur gemäß einer Reihe von Standardeinstellungen für diesen Benutzer betrieben und schadet dem System normalerweise nicht. Mit Root können Sie das System selbst ändern. Auf dem Fernsehgerät entspricht dies einer Änderung der Firmware. In diesem Fall können Sie die tatsächliche Funktionsfähigkeit beeinträchtigen.
JBentley
1
Deshalb gibt es eine Risikobewertung. Sie beurteilen die Risiken einer Handlung (die Vor- und Nachteile hat) und akzeptieren, mindern oder versichern. Das Wiederherstellen kann einfach (Docker, VM-Snapshots) oder schwierig (Form Scratch installieren) sein - es ist eine Frage der Planung und erneut der Bewertung. Aber wie Sie bereits erwähnt haben, verstehe ich nicht, was Root-Zugriff bedeutet.
WoJ
0

Zur Verteidigung der Person, die die erste Frage geschrieben hat, hatte ich in den vergangenen Jahren die gleiche Frage, aber ich verfolgte einen anderen Ansatz.

Die meisten Antworten könnten hier einfach in einer Schleife abgespielt werden, da sie alle den gleichen Punkt in Bezug auf Sudo und Root betonen. Lassen Sie mich diesem Thema eine andere Perspektive hinzufügen:

Die Art und Weise, wie ich Unix UND Linux von Grund auf lernte, war, einen meiner Computer als "Versuchskaninchen" zu benutzen. Ich würde SCO Linux und später Solaris und später Linux installieren und die ganze Zeit freudig als Root experimentieren, um die Verzeichnishierarchie und alle Dateien mit uneingeschränktem Zugriff zu lesen und / oder zu durchsuchen und auch "normale Benutzer" -Konten bei mir zu erstellen -gewachsene Multi-User-Box, obwohl ich der einzige Benutzer war. Und ich bin froh, dass ich das so gemacht habe. Ich habe so viel über die "Unix-Philosophie" und die Art und Weise gelernt, wie Unix für meine Experimente verwendet werden sollte.

Ich hatte eine Menge Spaß beim Erlernen der Sicherheit und beim Ausführen gefährlicher Befehle, indem ich in einem Terminal rm -rf / * als root eingab. (TUN SIE DAS NICHT! ES SCHLÄUCHT IHR SYSTEM AUS !!) Ich habe solche und viele andere Befehle ausgeführt, nur um zu sehen, was in Echtzeit passieren würde. Ich habe solche Dinge getan, um die Konsequenzen vorher zu kennen, aber ich habe trotzdem viel gelernt, indem ich das getan habe. Ich habe SCO Unix LONG verwendet, bevor es das Web überhaupt gab (ja, ich bin so alt!), Und das Experimentieren auf diese Weise war für mein Lernen von unschätzbarem Wert.

Also, was ich sage ist, wenn es Ihnen nichts ausmacht, Neuinstallationen durchzuführen, wenn etwas schief geht, verwenden Sie su oder melden Sie sich als root an und konfigurieren / hacken Sie sich! Sie werden verdammt viel lernen, wenn Sie das tun.

Denken Sie daran, dass der Rat, der hier häufig wiederholt wurde, aus einem guten Grund wiederholt wurde: Die Best-Practice-Protokolle haben sich im Laufe der Jahrzehnte mit der Entwicklung von compsec weiterentwickelt, und Sie MÜSSEN darauf achten, auch als Privatanwender / einzelner Benutzer Ihres Systems . Auf diese Weise werden gute Hygiene- / Gewohnheiten des Systemadministrators für Sie zur zweiten Natur.

Nur ein paar Denkanstöße zum Thema su und sudo. Viel Spaß beim Hacken!

mem
quelle