Ich bin oft auf Foren oder andere Websites gestoßen, auf denen man Leute sieht, die sich über das Laufen / Einloggen als Root lustig machen, als ob es etwas Schreckliches wäre und jeder davon wissen sollte. Es gibt jedoch nicht viel, was eine Suche in dieser Angelegenheit verrät.
Es mag Linux-Experten weithin bekannt sein, aber ich weiß wirklich nicht warum. Ich erinnere mich, dass ich immer als root ausgeführt habe, als ich Linux vor Jahren zum ersten Mal ausprobiert habe (Redhat und Mandrake), und erinnere mich nicht, dass ich deswegen auf irgendwelche Probleme gestoßen bin.
Es gibt tatsächlich einige Distributionen, die einen leuchtend roten Hintergrund mit Warnzeichen als Hintergrundbild für den Root-Benutzer (SuSe?) Haben. Ich verwende das Konto "Administrator" weiterhin für die reguläre Verwendung in meiner Windows-Installation und habe dort auch noch keine Probleme festgestellt.
quelle
Antworten:
Es besiegt das seit Jahren bestehende Sicherheitsmodell. Anwendungen sollen mit nicht-administrativer Sicherheit (oder als reine Sterbliche) ausgeführt werden. Sie müssen daher ihre Berechtigungen erhöhen, um das zugrunde liegende System zu ändern. Zum Beispiel möchten Sie nicht, dass der kürzliche Absturz von Rhythmbox Ihr gesamtes
/usr
Verzeichnis aufgrund eines Fehlers löscht . Oder diese Sicherheitsanfälligkeit, die soeben in ProFTPD veröffentlicht wurde, damit ein Angreifer eine ROOT-Shell erhalten kann.Auf jedem Betriebssystem ist es nur eine gute Praxis, Ihre Anwendungen auf Benutzerebene auszuführen und administrative Aufgaben dem Root-Benutzer zu überlassen, und zwar nur nach Bedarf.
quelle
rm -rf tmp/tests/*
...sudo
und mein Passwort für jeden zweiten Befehl in Linux. Sollen Linux-Benutzer nicht faul sein ?????Nur ein Wort: Sicherheit.
quelle
Als root zu laufen ist schlecht, weil:
sudo -i
Sie nur noch root sein. Möchten Sie einige Befehle mit Pipes ausführen? Dann benutzesudo sh -c "comand1 | command2"
.Der Grund, warum Sie keine Informationen darüber finden konnten, warum es schlecht ist, ist, dass im Internet viel zu viele Daten vorhanden sind :) und dass viele Leute, die Linux seit langer Zeit verwenden, so denken wie Sie. Diese Art, über das Root-Konto nachzudenken, ist ziemlich neu (vielleicht ein Jahrzehnt?) Und viele Leute ärgern sich immer noch darüber, dass sie sudo verwenden müssen. Vor allem, wenn sie auf einem Server arbeiten, was bedeutet, dass sie Systemänderungen vornehmen wollten. Wahrscheinlich aufgrund früherer schlechter Erfahrungen und Sicherheitsstandards, die die meisten Sysadmins besser kennen, aber sie mögen es immer noch nicht :).
quelle
Das ist eine gute Frage. Ich denke, die Antwort ist etwas anders, je nachdem, ob Sie über einen Server oder eine Desktop-Installation sprechen.
Auf einem Desktop wird das
root
Konto nur selten verwendet . Tatsächlich wird Ubuntu mit deaktiviertem Root-Zugriff ausgeliefert. Alle Änderungen, die Superuser-Berechtigungen erfordern, werden übersudo
und die grafischen Verknüpfungengksudo
und vorgenommenkdesudo
. Angesichts der Tatsache, dass es einfach ist, einroot
Passwort festzulegen, warum tun es die Leute dann nicht?Ein Grund dafür ist, dass Sie eine zusätzliche Sicherheitsebene erhalten. Wenn Sie ein Programm ausführen
root
und eine Sicherheitslücke ausgenutzt wird, hat der Angreifer Zugriff auf alle Daten und kann die Hardware direkt steuern. Beispielsweise kann ein Trojaner oder ein Key-Logger in Ihrem Kernel installiert werden. In der Praxis kann ein Angriff jedoch auch ohne Superuser-Berechtigungen großen Schaden anrichten. Schließlich sind alle Benutzerdaten - einschließlich der Dokumente und gespeicherten Passwörter - ohne Root-Zugriff zugänglich.Ein wichtiger Punkt auf einem Einzelbenutzersystem ist, dass der Benutzer daran gehindert wird, das System versehentlich unbrauchbar zu machen. Wenn der Benutzer versehentlich einen Befehl ausgibt, mit dem alle Dateien gelöscht werden, kann er das System auch dann booten, wenn die Daten verloren gehen.
Darüber hinaus basieren die meisten X11-Anwendungen (User-Facing) heutzutage 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 falsch verhalten
root
.Auf einem Mehrbenutzersystem mit ausschließlich nicht grafischem Shell-Zugriff treffen viele dieser Gründe nicht zu. Ubuntu greift jedoch nach wie vor auf ein
root
Konto zu, auf das nicht zugegriffen werden kann. Zum einen gibt es einen echten Unterschied zwischen dem Zugriff auf ein Benutzerkonto (mitsudo
Rechten) über eine Sicherheitslücke und dem Zugriff daraufroot
, da im ersten Fall die Störung anderer Benutzer ausgeführt werden musssudo
und weiterhin zur Eingabe des Kontokennworts als erforderlich ist zusätzlicher Sicherheitsschritt. Zum anderen ist es nützlich, viele administrative Aufgaben von einem Benutzerkonto aus auszuführen und nur dann aufzurufen,sudo
wenn die Superuser-Berechtigungen unbedingt erforderlich sind. Wenn Sie ein Programm von der Quelle installieren, ist es daher ratsam, die Quelle zu erstellen - ausgeführtconfigure
undmake
- Im Benutzerverzeichnis und nursudo make install
im letzten Schritt verwenden. 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 in Mitleidenschaft ziehen. Daher ist es auch auf einem Server ratsam, sich an die sudo-basierte Administration von Ubuntu zu halten .quelle
he will still be able to boot the system, even if the data will be lost.
- Was ist der Sinn davon? Wenn meine Daten verloren gehen, gehen meine Daten verloren und das wars. Linux-Systemsoftware kann neu installiert werden, wenn sie gelöscht wird. Warum sollte ich mich in solchen Verzeichnissen um Datenverluste kümmern? Auf der anderen Seite ist der Datenverlust~
schlecht. Undsudo
schützt mich nicht davor.Ein Grund, nicht als root zu laufen, der (bisher) nicht durch andere Antworten identifiziert wurde, ist die Rückverfolgbarkeit. Auf Computern, bei denen es sich in erster Linie um Einzelbenutzer-Computer handelt (Desktop oder Laptop), ist es wahrscheinlich weniger wichtig. Auf Servern, auf denen jemand angemeldet ist
root
, wissen Sie jedoch nicht, wer für die durchgeführten Aktionen verantwortlich ist. Daherroot
erfordern die meisten professionellen Organisationen mit mehreren Systemen und mehreren Administratoren, die Berechtigungen benötigen, dass sich Benutzer mit ihrer eigenen Benutzer-ID (und ihrem Kennwort) anmelden und dann mitsudo
oder ähnlichen Programmen arbeiten,root
wenn dies erforderlich ist.Andernfalls sind die Hauptgründe dafür, dass Sie nicht als Root ausgeführt werden:
Minimieren Sie das Unfallrisiko. Wenn Sie
rm -fr / home/me/my-subdir
als root ausgeführt werden, haben Sie einfach alles Wichtige auf Ihrem Computer entfernt, weil nach dem (ersten) Schrägstrich so viel Platz frei ist. das/bin
und das/etc
Verzeichnis. Unix ärgert sich, wenn Sie diese verlieren.Minimieren Sie das Risiko von Beschädigungen durch böswillige Websites außerhalb. Wenn Sie nach durchsuchen
root
, sind Sie anfälliger für vorbeifahrende Downloads von schädlichem Material.Ich verwende MacOS X häufiger als Ubuntu, aber dort ist root standardmäßig deaktiviert und befindet sich immer noch auf meinem Computer. 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 die allmächtigen Berechtigungen von nur
root
für verkürzte Arbeitszeiten nutzen, um das Risiko von Fehlern zu vermeiden.quelle
rm -fr / home/me/my-subdir
versuchen Befehle wie nicht, rekursiv zu löschen/
, da/
sie speziell behandelt werden, um sich vor solchen Fehlern zu schützen. Weitere Informationen finden Sie in der Dokumentation der Optionen--preserve-root
und--no-preserve-root
inman rm
. Das Prinzip ist jedoch solide: Es gibt einzelne Tippfehler, die dazu führen , dassrm
alles gelöscht wird. Zum Beispiel bedeuten , wenn Sie alles , was im aktuellen Verzeichnis zu entfernen , indem Sierm -r *
, aber Sie einen versehentlich setzen/
vor*
, die schlecht sein würde.chown -R nobody:nobody ../
von say / etc würde es dich beschützen? Wenn Sie das auf / etc machen würden, würde es Ihnen eine Welt voller Verletzungen bereiten. Ähnlich ist es,.*
wenn ein Befehl rekursiv ausgeführt wird.TL; DR: Tun Sie Dinge als root nur, wenn Sie müssen.
sudo
macht das ziemlich einfach. Wenn Sie Root-Anmeldungen aktivieren, können Sie diese Regel trotzdem befolgen. Sie müssen nur vorsichtig sein. Obwohl das Aktivieren von Root-Anmeldungen nicht wirklich unsicher ist, müssen Sie Root-Anmeldungen nicht aktivieren, da dies der Fall istsudo
.Es gibt hier wirklich zwei verwandte Fragen.
sudo
und polkit , damit Administratoren bestimmte Befehle als Root ausführen können?Warum nicht immer alles als root ausführen?
Die meisten anderen Antworten decken dies ab. Es kommt darauf an:
Es ist wahr, dass Sie Schaden anrichten können, auch wenn Sie nichts als root tun. Sie können beispielsweise alle Dateien in Ihrem eigenen Basisverzeichnis löschen, das normalerweise alle Ihre Dokumente enthält, ohne als Root ausgeführt zu werden! (Hoffentlich haben Sie Backups.)
Natürlich gibt es als Root zusätzliche Möglichkeiten, um dieselben Daten versehentlich zu zerstören. Sie könnten beispielsweise ein falsches
of=
Argument für einendd
Befehl angeben und Rohdaten über Ihre Dateien schreiben (was die Wiederherstellung erheblich erschwert, als wenn Sie sie lediglich gelöscht hätten).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 anrichten können. Dies ist jedoch immer noch kein Grund, Ihr Risiko um zusätzliche Möglichkeiten zu erweitern, wie Sie Ihr Ubuntu-System durcheinander bringen können.
Wenn die Ausführung mit einem Nicht-Root-Benutzerkonto Sie daran hinderte, die Kontrolle über Ihren eigenen Computer auszuüben, wäre dies natürlich ein schlechter Kompromiss. Dies ist jedoch nicht der Fall - wenn Sie tatsächlich eine Aktion als Root ausführen möchten , können Sie dies mit
sudo
und anderen Methoden tun .Warum nicht die Anmeldung als root ermöglichen?
Die Vorstellung, dass die Möglichkeit, sich als root anzumelden, von Natur aus unsicher ist, ist ein Mythos. Bei einigen Systemen ist standardmäßig ein Root-Konto aktiviert. Andere Systeme verwenden
sudo
standardmäßig und einige sind mit beiden konfiguriert.Es ist nicht objektiv falsch, ein System zu haben, auf dem das Root-Konto aktiviert ist, vorausgesetzt, dass
Häufig fragen Anfänger, wie sie das Root-Konto in Ubuntu aktivieren sollen. Wir sollten diese Informationen von ihnen nicht verbergen, aber in der Regel , wenn die Leute das fragen es, weil sie unter dem falschen Eindruck, dass sie benötigen den Root - Account zu aktivieren. In der Tat ist dies so gut wie nie notwendig. Deshalb ist es bei der Beantwortung solcher Fragen wichtig, dass wir dies erklären. Das Aktivieren des Root-Kontos erleichtert es auch, selbstgefällig zu werden und Aktionen als Root auszuführen, für die keine Root-Berechtigungen erforderlich sind. Dies bedeutet jedoch nicht, dass die Aktivierung des Root-Kontos an sich unsicher ist.
sudo
ermutigt und hilft Benutzern, Befehle nur dann als root auszuführen, wenn sie dies benötigen. Um einen Befehl als root auszuführensudo
, geben Sie ein Leerzeichen und dann den Befehl ein. Dies ist sehr praktisch, und viele Benutzer aller Schwierigkeitsgrade bevorzugen diesen Ansatz.Kurz gesagt, Sie müssen keine Root-Anmeldungen aktivieren, weil Sie haben
sudo
. Solange Sie es jedoch nur für administrative Aufgaben verwenden, für die es erforderlich ist, ist es ungefähr genauso sicher, sich als root zu aktivieren und anzumelden, sofern dies nur auf folgende Weise geschieht :su
Befehl, wenn Sie von einem anderen Konto angemeldet sind.Es treten jedoch erhebliche zusätzliche Sicherheitsrisiken auf, wenn Sie sich wie folgt als root anmelden:
Grafisch. Wenn Sie sich grafisch anmelden, werden eine Menge Dinge ausgeführt, um die grafische Benutzeroberfläche bereitzustellen, und Sie werden am Ende noch mehr Anwendungen als Root ausführen, um diese Benutzeroberfläche für alles zu verwenden. Dies widerspricht dem Prinzip, dass nur Programme als root ausgeführt werden, die wirklich root-Rechte benötigen. Einige dieser Programme können Fehler enthalten, einschließlich Sicherheitslücken.
Darüber hinaus gibt es einen nicht sicherheitsrelevanten Grund, dies zu vermeiden. Die grafische Anmeldung als Root wird nicht gut unterstützt - wie Loevborg erwähnt , testen Entwickler von Desktop-Umgebungen und grafischen Apps diese nicht oft als Root. Selbst wenn dies der Fall ist, erhalten Benutzer bei der Anmeldung in einer grafischen Desktop-Umgebung als Root keine Alpha- und Betatests in der realen Welt, da dies fast niemand versucht (aus den oben erläuterten Sicherheitsgründen).
Wenn Sie eine bestimmte grafische Anwendung als Root ausführen müssen, können Sie
gksudo
oder verwendensudo -H
. Dadurch werden weitaus weniger Programme als root ausgeführt, als wenn Sie sich tatsächlich grafisch mit dem root-Konto angemeldet hätten.Entfernt. Das
root
Konto kann praktisch alles und hat praktisch auf jedem Unix-ähnlichen System den gleichen Namen. Durch die Anmeldung als Root überssh
oder andere Remotemechanismen oder die Konfiguration von Remotediensten, die dies zulassen , wird es Eindringlingen, einschließlich automatisierter Skripts und Malware, die in Botnetzen ausgeführt werden, erheblich erleichtert, über Brute Force, Wörterbuchangriffe (und möglicherweise auch über das Internet Zugriff zu erhalten einige Sicherheitslücken).Wahrscheinlich ist das Risiko nicht extrem hoch, wenn Sie nur schlüsselbasierte und keine kennwortbasierten Root-Anmeldungen zulassen .
Standardmäßig sind in Ubuntu weder grafische Root-Anmeldungen noch Remoteanmeldungen über SSH aktiviert, selbst wenn Sie die Anmeldung als Root aktivieren . Das heißt, auch wenn Sie die Root-Anmeldung aktivieren, wird sie nur auf eine Art und Weise aktiviert, die einigermaßen sicher ist.
/etc/sshd/ssh_config
, enthält dieser die ZeilePermitRootLogin without-password
. Dadurch wird die kennwortbasierte Stammanmeldung deaktiviert, die schlüsselbasierte Anmeldung jedoch zugelassen. Standardmäßig ist jedoch kein Schlüssel konfiguriert. Wenn Sie keinen eingerichtet haben, funktioniert dies auch nicht. Darüber hinaus ist die schlüsselbasierte Remote-Root-Anmeldung weitaus weniger schlecht als die kennwortbasierte Remote-Root-Anmeldung, zum Teil, weil sie nicht das Risiko von Brute-Force- und Wörterbuchangriffen birgt.Abschließend:
sudo
hilft dir dabei und gibt dir trotzdem die volle Kraft von root, wann immer du es willst.Für weitere Informationen über root und
sudo
einige zusätzliche Vorteilesudo
, die ich hier nicht behandelt habe, empfehle ich RootSudo im Ubuntu-Hilfe-Wiki.quelle
rm -i
durch Shell-Alias zu gewöhnen . Sie gehen zu einem System, das das nicht hat und was dann? Babysitting eines Benutzers aus solchen Fehlern ist keine gute Idee, wenn man bedenkt, dass Menschen sehr gewohnheitsmäßige Wesen sind.Das Root-Konto ist standardmäßig deaktiviert. Dies bedeutet, dass es existiert, aber nicht verwendet werden kann (außer im Wiederherstellungsmodus). Dies bedeutet, dass ein Angreifer Ihr Root-Konto kennt, es jedoch nicht verwenden kann, selbst wenn er / sie das Root-Passwort hat. Daher muss ein Angreifer sowohl einen Benutzernamen mit Administratorrechten als auch das Kennwort dieses Benutzers erraten (was weitaus schwieriger ist, als nur das Root-Kennwort zu ermitteln). Unter XP, wenn Sie die Wiederherstellungskonsole installiert haben, jeden, der hat physischen Zugriff auf Ihre Box kann darin booten (RC) - kein Passwort erforderlich. Entspricht dem Wiederherstellungsmodus in Ubuntu.
In Ubuntu ist das Konto gesperrt, wenn sie sagen, dass der Root deaktiviert ist. Ein Konto wird gesperrt, indem das Kennwort in einen Wert geändert wird, der keinem möglichen verschlüsselten Wert entspricht. Auf diese Weise wird effektiv verhindert, dass sich jemand als root anmelden kann, da die Eingabe des Passworts unmöglich ist. Da es immer noch Zeiten gibt, in denen Root-Zugriff erforderlich ist, wurde der Ubuntu-Kernel so geändert, dass die lokale Root-Anmeldung nur im Einzelbenutzermodus möglich ist.
Siehe auch diese Seite
quelle
Es ist, als würde man ein kleines Kind mit einem AK47 bewaffnen, während er gerne mit seiner Paintball-Pistole spielen kann. ;)
Ich meine, es ist falsch, weil Sie und Ihre Anwendungen mehr Privilegien haben, als sie brauchen, und dann können und werden Dinge schief gehen :(
quelle
Sehr schöne Frage ... Lassen Sie es mich aus praktischer Sicht beantworten:
Als ich vor mehr als 10 Jahren mit Linux anfing, machten die großen Distributionen nicht mehr so viel Werbung mit Nicht-Root-Accounts wie heute. Da ich an Windows gewöhnt war, sah ich auch keinen Grund, ein eingeschränktes Benutzerkonto zu verwenden. Vor allem, weil ich sehr oft "su" eingeben musste - sudo war damals nicht so beliebt. ;-) Also habe ich mich immer als root angemeldet, weil ich viel zu warten hatte, um mein System richtig zu konfigurieren. Aber raten Sie mal, jedes neu installierte System wurde schnell sehr instabil.
Ein konkretes Problem zum Beispiel: Ich hatte nicht so viel Festplattenspeicher für Linux reserviert, so dass es mir ein paarmal passiert ist, dass auf meiner Partition noch 0 Bytes vorhanden waren. Vielleicht bin ich nicht ganz präzise, weil ich den genauen Mechanismus nicht kenne, aber wenn Sie eine Festplatte mit einem Nicht-Root-Konto füllen, bleiben immer ein paar Kilobyte übrig. Aber wenn Sie wirklich noch 0 Bytes haben, macht Ihr System seltsame Fehler und es kann sein, dass Sie einige schwer zu behebende Schäden in Ihrem System haben, weil im Hintergrund viel Systemsoftware läuft ...
Eine andere Sache ist: Diese Trennung zwischen root und non-root hält Ihr System gut organisiert. Als Root-Benutzer könnten Sie versucht sein, Ihre neuen Anwendungen nicht sauber zu installieren, wodurch Sie ein schmutziges, schwer zu wartendes System haben.
Aber das Gute: Moderne Distributionen erledigen die meisten Administrationsaufgaben für Sie, so dass Sie selten mit einem Root-Account in den Eingeweiden Ihres Linux-Systems herumspielen müssen. Es reicht aus, von Zeit zu Zeit ein Passwort einzugeben, den Rest erledigen die Skripte des Distributors.
Aber ich bezweifle, dass Sie damit auf Ihrem Windows-System keine Probleme hatten, wenn Sie 95 oder 98 verwendet haben "Windows - Apps gehen davon aus, dass sie alles können, z. B. Spyware installieren, auch ohne es Ihnen mitzuteilen. Microsoft hat sich mit diesem Problem befasst, als Vista veröffentlicht wurde. (Effektives Implementieren eines Sudo-Mechanismus.) Die Leute bekamen also sehr ärgerliche Dialoge, in denen sie sagten: "Das kannst du nicht machen". Für einige nicht Vista-konforme Software brauchten Sie einige schmutzige Hacks, um sie zu installieren, selbst als Administrator ...
quelle
Dieser Ansatz hat viele Aspekte. Einige von ihnen sind:
Hier ist ein guter Artikel: http://cf.stanford.edu/policy/root
quelle
Nehmen wir an, Sie haben einen Verwaltungsbereich aufgeräumt. Sie haben es satt, Ihr Passwort zu vergessen
sudo su
. Sie werden nur für eine Sekunde abgelenkt und vergessen, dass Sie eine CD aufgenommen haben/
. Dann durm *
. Ich habe es getan. Sie können alles zurückbekommen, aber es ist eine PITA. Oh, und es ist auch abgestiegen/media
!quelle
Warum nicht root anmelden?
Sie können zwar ein Kennwort für das Superuser-Konto erstellen, mit dem Sie sich als root anmelden können, es ist jedoch erwähnenswert, dass dies nicht die "Ubuntu" -Methode ist. Ubuntu hat speziell ausgewählt , nicht zu geben , eine Root - Login und Passwort standardmäßig für einen Grund. Stattdessen wird eine Standard-Ubuntu-Installation verwendet
sudo
.Sudo ist eine Alternative zu einem Root-Passwort, um Superuser-Pflichten zu erfüllen. In einer Ubuntu-Standardinstallation erhält die Person, die das Betriebssystem installiert hat, standardmäßig die Berechtigung "sudo".
Jeder mit der Berechtigung "sudo" kann etwas "als Superuser" ausführen, indem er sich
sudo
an seinen Befehl anhängt . Um beispielsweiseapt-get dist-upgrade
als Superuser zu arbeiten, können Sie Folgendes verwenden:Vorteile des sudo-Ansatzes
Mit sudo legen Sie im Voraus fest, welche Benutzer sudo-Zugriff haben. Sie müssen sich kein Root-Passwort merken, da sie ein eigenes Passwort verwenden.
Wenn Sie mehrere Benutzer haben, können Sie den Superuser-Zugriff durch Entfernen der sudo-Berechtigung widerrufen, ohne das Root-Passwort ändern und alle über ein neues Passwort benachrichtigen zu müssen.
Sie können sogar auswählen, welche Befehle ein Benutzer mit sudo ausführen darf und welche Befehle für diesen Benutzer verboten sind.
Und schließlich kann bei einer Sicherheitsverletzung in einigen Fällen ein besserer Prüfpfad hinterlassen werden, der angibt, welches Benutzerkonto gefährdet wurde.
Mit Sudo ist es einfacher, einen einzelnen Befehl mit Superuser-Rechten auszuführen. Mit einem Root-Login bleiben Sie dauerhaft in einer Superuser-Shell, die mit
exit
oder beendet werden musslogout
. Dies kann dazu führen, dass Benutzer länger als nötig in der Superuser-Shell bleiben, nur weil dies bequemer ist als ein späteres Aus- und erneutes Anmelden.Mit sudo haben Sie weiterhin die Möglichkeit, eine permanente (interaktive) Superuser-Shell mit dem folgenden Befehl zu öffnen:
... und dies kann immer noch ohne Root-Passwort erfolgen, da
sudo
dersu
Befehl Superuser-Rechte besitzt .Und in ähnlicher Weise können Sie anstelle
su -
einer Login-Shell auchsudo su -
oder sogar verwendensudo -i
.Dabei müssen Sie jedoch lediglich berücksichtigen, dass Sie für jeden Befehl als Superuser fungieren. Es ist ein gutes Sicherheitsprinzip, nicht länger als nötig als Superuser zu bleiben, nur um die Möglichkeit zu verringern, versehentlich Schäden am System zu verursachen (ohne diese können Sie nur Dateien beschädigen, die Ihrem Benutzer gehören).
Um dies zu verdeutlichen, können Sie dem Root-Benutzer ein Passwort geben, mit dem Sie sich als Root anmelden können, wenn Sie die Dinge stattdessen auf diese Weise ausführen möchten. Ich wollte Sie nur über die Ubuntu-Konvention des Bevorzugens informieren
sudo
und versuchen, einige der Gründe zu erläutern, warum Ubuntu diesen Ansatz als Standard bevorzugt.Warum nicht Root-Login über SSH zulassen?
Selbst wenn Ihr Root - Benutzer ist ein Passwort , das Sie hat damit als root anmelden, ist es immer noch eine gute Sicherheitspraxis von außen direkt Root - Login zu deaktivieren, wie in SSH. Es ist sinnvoll, dass Benutzer sich erst anmelden müssen
su -
odersudo
danach.Die potenziellen Vorteile sind hauptsächlich sicherheitsbezogen:
Es reduziert den Angriffsvektor, indem die Möglichkeit, das root-Passwort per Fernzugriff zu erzwingen, beseitigt wird. Es ist typisch, dass ein Server im Internet ständig durch Versuche blockiert wird, das Root-Passwort über SSH zu erzwingen.
Es schafft eine bessere Audit - Trail , so dass auch im Fall einer Verletzung , wo der Angreifer tut Privilegien Super - User später erhalten, können Sie dessen Benutzerkonto sehen wurde verwendet , um Zugriff zu erhalten.
quelle
Wenn Sie als root angemeldet sind, können Anwendungen, Skripte oder Befehlszeilenbefehle auf sensible Teile der Software zugreifen, die das System beschädigen können. Dies kann das Ergebnis von Unerfahrenheit seitens des Benutzers oder Programmierers oder von böswilligem verstecktem Code sein.
quelle
Es ist einfach zu einfach, als Root zu agieren. Sie können das gesamte System in nur einem Befehl zerstören ...
quelle
Ich kann hinzufügen, dass es einen Unterschied zwischen Administrator in Windows und root in Unix gibt. Der Administrator hat noch einige Einschränkungen in Systemen, in denen root keine Einschränkungen hat. Die richtige analog der Wurzel in Windows - System Benutzer.
Die schlechte Sache, um PC unter root / System zu verwenden, ist, dass Sie versehentlich alles zerstören können, ohne Warnung vom Betriebssystem.
quelle
Gründe gegen die Verwendung von root:
Gründe für die Verwendung von root:
Mir scheint, dass ein Nicht-Root-Konto immer noch Opfer dieser Gründe gegen die Verwendung von Root werden könnte. Das meiste, was hinzugefügt wird, ist eine Bestätigung für Ihre Aktionen. Ich denke, solange Sie wissen, was Sie tun, sind Sie mit root absolut sicher. Da habe ich es gesagt.
quelle
Wenn Anwendungen als Root ausgeführt werden, kann nicht garantiert werden, dass keine von ihnen ausgeführt wird
(Dies ist ein Beispiel für einen Befehl, der nicht ausgeführt werden sollte.)
quelle
--preserve-root
und--no-preserve-root
inman rm
.Ein kenntnisreicher und sorgfältiger Benutzer gegeben, ich bin nicht sicher , dass eine richtige Antwort gibt. Ich hatte diese Antwort nicht gesehen und dachte, ich würde mitmachen.
Was mir nicht gefällt, sind unbeabsichtigte Änderungen der Berechtigungen auf Mehrbenutzersystemen, die ich
chmod
später benötige . Das Reparieren über chmod nachträglich ist viel ärgerlicher als das Benötigen von sudo, aber es hängt davon ab, was ich geplant habe.quelle
Bei vorsichtiger Verwendung besteht keine Gefahr, sich als root anzumelden.
Obwohl ich denke, dass das Deaktivieren von root die bevorzugte Lösung ist, da der Angreifer sie nicht brutal erzwingen konnte.
Eine Lösung besteht darin, einen Benutzer in einer sudo-Gruppe mit einem unbekannten Namen zu erstellen
gamer
und sudo zum Ausführen von Verwaltungsaufgaben zu verwenden.Daher muss der Angreifer nicht nur das Passwort dieses Administrators erraten, sondern auch seinen Anmeldenamen. Welche ist nicht offensichtlich , wenn der Benutzer mit sudo Namen wie anmelden hat
kitty
odergamer
oder etwas ähnliches.quelle
Software basiert auf gemeinsam genutzten Bibliotheken, Abhängigkeiten, Konfigurationsdateien usw. In den
meisten Fällen führt ein einziger Klick in einer Anwendung zu einer "Kettenreaktion" mehrerer Änderungen, nicht nur dort, wo Sie dies für wahrscheinlich halten.
Wenn sich diese Änderungen auf systemkritische Einstellungen auswirken, ist es für Sie als Benutzer von Vorteil, dies zu wissen.
Aus diesem Grund ist der Root-Zugriff ein gutes Sicherheitsmodell:
Wenn Ihrem System etwas Entscheidendes bevorsteht, werden Sie benachrichtigt, indem Sie nach einer Erhöhung der Berechtigungen gefragt werden.
quelle
Es ist ein Problem mit zwei Gesichtern und mehr als einer Antwort.
Überprüfen Sie für einige Realitätsfragen die immer gleichen, aber so schrecklichen Antworten auf diese Fragen:
desktop installations
:server installations
:rm -rf /
funktioniert nicht in den meisten Mainstream-Distributionen IIRCFür jede Unternehmensgröße (sprich: höchstwahrscheinlich SOHO mit einer statischen IP-Adresse) zwischen diesen beiden Extremen, denen angemessene Überwachungs-, Sicherungs-, Automatisierungs- und Protokollierungsmaßnahmen fehlen, kann es nützlich sein, die Verwendung von sudo auf Servern zu erzwingen. (Dies wird von Personen umgangen, die nach dem
sudo su -
Herstellen der Verbindung so schnell wie möglich das Protokollieren durchführen, sodass alle Ihre Absichten, das Geschehene zu protokollieren, auch ohne böswillige Absichten verloren gehen, sobald mehr als ein Root-Benutzer angemeldet ist. Viel Glück beim Ändern dieses Problems durch erzwungene Verfahren und das Behandeln von Personen mit drakonischen Absichten Maßnahmen für die Nichteinhaltung der Regeln. Das Leben findet immer einen Weg.)Wenn Sie jedoch nicht über mindestens fail2ban verfügen, um Ihre Kennwortanmeldungen zu sichern (falls vorhanden, insbesondere bei Systemen mit Internet-Zugang), sollten Sie auch auf eine ordnungsgemäße Kennwortverarbeitung achten (Tools zur Kennwortverwaltung, Aufbewahrungsrichtlinien, keine Hauptkennwörter, Umgang mit diesen beim Mitarbeiter) Fluktuationen ...) und haben eine Form des richtigen Update-Managements für die Serverflotte, so dass alle Server regelmäßig gepatcht werden. Wahrscheinlich werden Sie eines Tages sowieso gehackt, sei es von innen oder von außen.
Und immer
sudo
religiös gebraucht zu haben und seinen Gebrauch bei allen Menschen durchzusetzen, ändert nichts an Ihrer Wahrscheinlichkeit, in diesem Fall viel zu besitzen.quelle
Letztendlich schadet es nicht, als root zu laufen. Es sind nur ein paar paranoide Leute, die denken, dass eine Neuinstallation eines Betriebssystems unmöglich ist. Das Argument "Jemand könnte ein Programm kompromittieren ...", na und? Wenn sie das tun, können sie Ihr Kennwort bereits keyloggen oder einfach eine Root-Kennwortanforderung anzeigen und Sie können ihnen das Kennwort geben. Puste dein System weg, weil du alles in / auswählst und löschst? na ja, hol den Installer raus und installiere neu. Es dauert weniger als 20 Minuten, schnappen Sie sich einen Kaffee und entspannen Sie sich. Root ist in Ordnung, ich habe root ausgeführt, solange ich mich erinnern kann und weißt du, was es tut? Dadurch wird die Installation von Paketen zum Kinderspiel. Sie müssen das root-Passwort nicht alle 5 Minuten eingeben, wie Sie es normalerweise tun müssen. Sie haben keine Probleme beim Speichern / Bearbeiten von Systemkonfigurationsdateien, weil sie Nur für Root-Berechtigungen. Es ist viel einfacher und besser, als root zu laufen.
quelle