Wie werde ich kein Root-Benutzer? Sind Administratoren root?

42

Ich habe Ubuntu auf meinem PC installiert. Zum Anmelden verwende ich den Benutzernamen und das Passwort, die ich während der Installation erstellt habe. Bedeutet dies, dass ich ein Root-Benutzer bin? Wenn ja, wie werde ich nicht root? Es sieht so aus, als wäre ein Benutzer ohne Rootberechtigung sicherer als ein Administrator.

Vorname Nachname
quelle
9
Sie verwechseln root mit Administrator , zwei verschiedene Dinge.
Fitojb
Verwandte: RootSudo (im Ubuntu-Wiki)
Eliah Kagan
Windows 7 macht diese Unterscheidung nicht deutlich, was mich wirklich stört und verwirrt. Das Äquivalent zum Ausführen als Root unter Windows lautet "Als Administrator ausführen". Wenn Sie jedoch als Administrator angemeldet sind, wird per Definition bereits alles als Administrator ausgeführt. Wirklich schlechte Terminologiewahl.
Kris Harper
@KrisHarper Es ist nicht per Definition (oder sogar wahr), dass Benutzer Programme als sich selbst ausführen müssen. In Ubuntu können Administratoren (die nicht root sind) Programme als root ausführen sudo. Allgemeiner kann ein Administrator (oder ein anderweitig autorisierter Benutzer) X command...als Y mit ausführen sudo -u Y command.... In Windows Vista und höher mit aktivierter Benutzerkontensteuerung führen Benutzer mit Administratorrechten Programme ohne diese aus , es sei denn, sie autorisieren ausdrücklich ein Programm, das ihre Fähigkeiten erbt. Als Administrator ausführen wird angezeigt, wenn die Benutzerkontensteuerung aktiviert ist (oder für eingeschränkte Benutzer).
Eliah Kagan
@EliahKagan Natürlich hast du recht. Unter der Haube erhalten Benutzer ein Sicherheits-Token mit niedriger Stufe und können bei Bedarf ein höheres anfordern. Ich sprach jedoch semantisch vom Standpunkt der Benutzererfahrung. Wenn ich einen Computer verwalte und verwende, führe ich Programme buchstäblich als Administrator aus. Mein Punkt war, dass es eine schlechte Terminologiewahl ist, weil es die Abstraktion zwischen dem physischen Administrator (mir) und dem digitalen Administrator (einem bestimmten Benutzerkonto) aufhebt. Ich finde es schlecht UX, obwohl der technisch versierte verstehen wird, was los ist.
Kris Harper

Antworten:

79

Sie sind Administrator, aber nicht root. Der rootBenutzer kann alles tun. Administratoren können Aktionen wieroot folgt ausführen , aber normalerweise wird das, was Administratoren tun, nicht von ausgeführt root. Auf diese Weise haben Sie die volle Kontrolle über Ihr eigenes System, aber nur , wenn Sie wählen , es zu benutzen.

Ubuntu fragt nach deinem Passwort, wenn du versuchst Sachen wie rootzu machen, um sicherzugehen, dass du es wirklich bist.

Benutzerkonten: Mensch und sonst

Echte Benutzer haben Benutzerkonten, um sie darzustellen. Sie haben ein solches Konto bei der Installation von Ubuntu erstellt. Aber nicht alle Benutzerkonten repräsentieren echte menschliche Benutzer .

Echte menschliche Benutzer erhalten über ihre Benutzerkonten bestimmte (und verweigerte) Berechtigungen. Sie müssen ihre Benutzerkonten verwenden, um das System zu verwenden. Daher gelten für sie die Fähigkeiten und Einschränkungen ihrer Benutzerkonten.

Benutzerkonten werden auch verwendet, um eine Reihe von Fähigkeiten und Einschränkungen zu kodifizieren. Einige Benutzerkonten - die meisten, es sei denn, Sie haben viele menschliche Benutzer der Maschine - existieren, damit bestimmte Programme oder Befehle mit ihrer Identität ausgeführt werden können, eine Identität mit den richtigen Fähigkeiten und Einschränkungen für den Job.

Der www-dataBenutzer ist beispielsweise so vorhanden, dass er, wenn Sie einen Webserver ausführen, die Daten besitzt, auf die der Server zugreifen kann. Kein echter menschlicher Benutzer muss befugt sein, ungeprüfte Änderungen an diesen Daten vorzunehmen, und der Webserver muss nicht befugt sein, Aktionen auszuführen, die für die Bereitstellung des Webs nicht erforderlich sind. Folglich sind sowohl die Webdaten als auch der Rest des Systems sicherer gegen versehentliche oder vorsätzliche Beschädigung, als wenn der Webserver von einem menschlichen Benutzer betrieben würde, der alle Befugnisse des Webservers hätte (und dessen Befugnisse der Webserver hätte) besitzen).

Das wichtigste nichtmenschliche Benutzerkonto

Der Superuser mit dem Benutzernamen ist rootein nicht-menschliches Benutzerkonto mit einer ganz bestimmten Kombination von Fähigkeiten und Einschränkungen: alle Fähigkeiten und keine Einschränkungen .

root‚s erlaubt , etwas zu tun. Es gibt immer noch Dinge, rootdie nicht möglich sind, weil das System selbst keine Leistung erbringen kann oder keinen Sinn daraus ergibt. Sie rootkönnen also keinen Prozess beenden, der sich im ununterbrochenen Schlaf befindet , oder einen Stein zu schwer machen, um sich zu bewegen, und ihn dann bewegen .

Viele wichtige Systemprozesse werden beispielsweise initals ausgeführt rootund rootwerden zur Ausführung von Verwaltungsaufgaben verwendet.

Kann ich mich als einloggen root?

Es ist möglich, das rootKonto so zu konfigurieren , dass Sie sich mit einem Kennwort anmelden können, dies ist jedoch in Ubuntu standardmäßig nicht aktiviert. Stattdessen kann man sich vorstellen rootals wie sein www-data, lp, nobodyund andere nichtmenschliche Konten. (Lauf cat /etc/passwdoder getent passwdum sie alle zu sehen.)

Menschliche Benutzer melden sich mit ihren eigenen Benutzerkonten an, und wenn dann eine Aufgabe mit einem anderen Benutzerkonto ausgeführt werden soll, veranlassen sie, dass diese Aufgabe mit dieser Identität ausgeführt wird , ohne sich tatsächlich als dieser Benutzer angemeldet zu haben .

Es ist möglich, die anderen nicht-menschlichen Benutzer wie zu konfigurieren www-data, so dass man sich auch als diese anmelden kann. Dies ist jedoch ziemlich selten, wohingegen es in einigen anderen Unix-ähnlichen Betriebssystemen üblich ist, sich wie root in einem Terminal anzumelden . Das Risiko, eine vollständige grafische Benutzeroberfläche rootauszuführen, rootsowie die rootAnzahl der grafischen Programme, die möglicherweise nicht ordnungsgemäß ausgeführt werden können, führen dazu, dass Sie niemals versuchen sollten, eine eigene Desktopsitzung zu erstellen .

Bitte beachten Sie, dass während der Aufzeichnung in als rootstandardmäßig in Ubuntu deaktiviert ist, es Möglichkeiten gibt , einen zu bekommen rootals Shell ohne Authentifizierung root, die eine ähnliche Wirkung erzeugen: die häufigsten sind sudo -soder-i , Recovery - Modus und ähnliche Techniken . (Machen Sie sich keine Sorgen, wenn Sie nicht wissen, was diese Dinge sind.) Dies ist eigentlich keine Anmeldung: Im Wiederherstellungsmodus werden Sie, rootbevor eine Anmeldung erfolgen würde; Mit den sudo-basierten Methoden führen Sie lediglich eine Shell als root aus.

Administratoren

In Ubuntu sind Administratoren die Benutzer, die das tun können, was sie wollen root, wenn sie dies möchten .

Systemeinstellungen, die Benutzerkonten einschließlich eines Administratorkontos anzeigen.
Systemeinstellungen> Benutzerkonten. "Eliah Kagan" ist ein Administrator, also kann er Sachen wie machen root, aber er ist es nichtroot .

Ich bin Administrator auf meinem Ubuntu-System. Wenn ich Programme starte, werden sie normalerweise ausgeführt als ek("Eliah Kagan" ist der vollständige Name, der dem ekBenutzernamen entspricht.)

Wenn ich AbiWord oder LibreOffice ausführe, wird es als ausgeführt ek. Wenn ich Firefox, Chromium, Empathy oder Pidgin starte, läuft es als ek. Die Programme, die zur Bereitstellung der Desktop-Oberfläche ausgeführt werden, werden als ausgeführt ek.

Ich bin jedoch ein Administrator. Wenn ich eine Verwaltungsaufgabe ausführen muss, kann ich dies tun.

sudo

In der Befehlszeile würde ich normalerweise sudoeinen Befehl ausführen als root:

sudo command...

Dadurch werde ich nach meinem Passwort gefragt. (Not root's Passwort; roothat noch keines.)

  • Da ich Administrator bin, kann ich Aktionen ausführen als root. In der Standardkonfiguration muss ich dazu mein Passwort eingeben.
  • Benutzer, die keine Administratoren sind, können keine Aktionen ausführen root, selbst wenn sie ihr Kennwort eingeben. sudoBefehle schlagen fehl, wenn der Benutzer, der sie ausführt, kein Administrator ist.

Da Administratoren mit Ausnahme der Möglichkeit, Aktionen auszuführen root, normale Benutzer sind, schlägt die Ausführung eines Befehls, für den rootBerechtigungen erforderlich sind, immer noch fehl, es sei denn, der Befehl wird ausgeführt alsroot .

Screenshot, der die Notwendigkeit von sudo veranschaulicht: Ein Administrator kann bestimmte Befehle nur erfolgreich ausführen, indem er als <code> root </ code> vor sudo (und ein Leerzeichen) den Befehl einfügt.
Screenshot, der die Notwendigkeit sudozur Ausführung von Verwaltungsaufgaben veranschaulicht . (Basierend auf "Sandwich" von Randall Munroe .)

sudo, grafisch

Grafische Programme können als laufen rootdurch grafische Frontends fürsudo , wie gksu/gksudo und kdesudo. Zum Beispiel, um GParted so auszuführen, wie rootich es könnte gksudo gparted. Dann würde ich grafisch nach meinem Passwort gefragt.

gksudo grafische Passwortabfrage

Da ich grafisch dazu aufgefordert werde, muss es kein Terminal geben. Dies ist eine der Methoden, unter denen Verwaltungstools ausgeführt werden root.

Polkit

Polkit (früher als PolicyKit bezeichnet) ist eine weitere Möglichkeit für Administratoren, Dinge wie folgt zu tun root. Ein Programm greift auf einen Dienst zu, der die Aktion ausführt. Manchmal führt die Aktion ein ganzes Programm aus. manchmal ist die Aktion etwas eingeschränkter.

Heutzutage sind viele Dienstprogramme für die grafische Systemverwaltung so eingerichtet, dass sie standardmäßig Polkit anstatt Polkit verwenden sudo.

Ein Beispiel für ein solches Dienstprogramm ist das Software Center. Es nutzt die Vorteile von Polkit voll aus und erfordert, dass der Benutzer sein Kennwort nur eingibt , wenn er etwas tun möchte, das rootBerechtigungen erfordert . (Dies ist auch mit sudo-basierter Authentifizierung möglich , aber schwieriger und hässlicher durchzuführen.)

Im Software-Center kann ich nach einer Anwendung suchen und diese lesen. dann werde ich nach meinem Passwort gefragt, wenn ich es installieren möchte.

Authentifizierung über Polkit zur Installation einer Anwendung im Ubuntu Software Center.

Wie Polkit anders ist

Jedes grafisches Programm kann ausgeführt werden rootmit gksudound anderen grafischen sudoFrontends. (Das Programm funktioniert möglicherweise nicht sehr gut, je nachdem, ob es als verwendet wird oder nicht root. Der Befehl zum Starten des Programms wird jedoch als ausgeführt root.)

Während polkit heutzutage häufiger als sudoGUI-Frontends eingesetzt wird, da Anwendungen unter Ubuntu Aktionen wie rootim Hintergrund ausführen, führt polki eine grafische Anwendung nur so aus, als root gäbe es eine Konfigurationsdatei , die dies zulässt und angibt, welche Aktionen ausgeführt werden können .

Polkit, nicht grafisch

pkexec ist der Befehl zum Ausführen eines Programms mit Polkit.

Gefällt mir sudo, pkexeckann nicht grafische Befehle ausführen. (Und es ist keine Konfigurationsdatei erforderlich, die die Funktionen des Befehls definiert. Der Befehl wird einfach ausgeführt als root.)

pkexec command...

pkexecfordert Sie grafisch zur Eingabe eines Kennworts auf, auch wenn es von einem Terminal aus ausgeführt wird (dies ist eine der Methoden, mit denen sich das Verhalten ähnlicher verhält gksudoals wenn es direkt ausgeführt wird sudo).

(Wenn keine grafische Benutzeroberfläche vorhanden ist, z. B. wenn Sie über eine virtuelle Konsole oder eine reine Text- SSH-Sitzung angemeldet sind oder die grafische Benutzeroberfläche nicht ordnungsgemäß funktioniert, pkexecwird die Leistung beeinträchtigt und Sie werden in der Befehlszeile zur Eingabe Ihres Kennworts aufgefordert .)

Ausführen eines Befehls in einem Terminal mit pkexec.

Nach erfolgreicher Authentifizierung wird der Befehl im Terminal ausgeführt.

Ein Befehl wird nach erfolgreicher Polkit-Authentifizierung nahtlos als <code> root </ code> ausgeführt.

Ausführen von Befehlen als andere Benutzer root

rootist etwas Besonderes, weil es alles kann, was getan werden kann. Es ist jedoch ein Benutzerkonto wie jedes andere Konto, und die Art und Weise, wie Befehle wie rootmit sudo(direkt oder mit einem grafischen Frontend) oder Polkit ausgeführt werden, kann leicht geändert werden, um einen Befehl wie jeder andere Benutzer auszuführen:

sudo -u username command...
gksudo -u username command...
pkexec --user username command...

Was? Sie tippen nur sudozuerst? Wie ist diese Sicherheit ?!

Das Ausführen von Befehlen mit sudoähnelt der Herbeiführung päpstlicher Unfehlbarkeit .

Wenn Sie einen Befehl mit laufensudo [invoke päpstlicher Unfehlbarkeit] , Ubuntu [katholisch Leute] versucht sicher schwer zu machen sind Sie wirklich Sie [wirklich der Papst].

Ja, ich weiß, dass die päpstliche Unfehlbarkeit (auch wenn sie normativ ist) deklarativ ist. Die Parallele ist nicht perfekt.

Der Versuch, etwas wie rootmit sudo(oder einem Polkit) zu tun, ist eine große Sache - Ubuntu lässt dies nicht einfach wie jedes andere Mal, wenn Sie ein Programm ausführen, vorbeiziehen.

Sie werden aufgefordert, Ihr Passwort einzugeben. (Dann wird für kurze Zeit daran erinnert, dass Sie dies getan haben, sodass Sie bei der Verwaltung Ihres Systems nicht ständig Ihr Kennwort eingeben müssen.)

Außerdem Sie daran erinnert , vorsichtig zu sein , diese Schutzmaßnahmen gegen zwei Szenarien:

  • Jemand verwendet Ihren Computer (oder Ihr Mobilgerät), möglicherweise unter dem Deckmantel, dass er seine E-Mails abruft, oder aus einem ähnlichen harmlosen Grund. Hier können sie noch Schaden anrichten - zum Beispiel könnten sie Ihre Dokumente ändern oder löschen. Sie können das System jedoch nicht verwalten, da sie Ihr Kennwort nicht eingeben können.
  • Programme, die das System nicht verwalten sollen, können dies nur, wenn Sie Ihr Kennwort eingeben. Wenn Ihr Webbrowser beispielsweise von einer Sicherheitslücke befallen ist und schädlichen Code ausführt, kann er weiterhin keine administrativen Aufgaben ausführen. Es kann keine Benutzer erstellen und löschen, keine Programme ändern, die als installiert sind root(einschließlich der vom Paketmanager installierten Elemente, z. B. LibreOffice), und keine tiefgreifenden Änderungen am System vornehmen.

Ich habe davon gehört su. Was ist das? Kann ich das benutzen?

suAuthentifiziert sich als ein anderer Benutzer und führt einen Befehl aus (oder startet eine interaktive Shell). Es ist möglich zu begrenzen, wer verwendet werden darf su, suauthentifiziert sich jedoch mit dem Kennwort des Zielkontos und nicht mit dem Kennwort des ausgeführten Benutzers.

Zum Beispiel läuft als Benutzername , genau wie .su username -c 'command...'command...sudo -u username command...

Wenn Sie jedoch einen Befehl wie usernamemit ausführen sudo, geben Sie Ihr Kennwort ein . Wenn Sie einen Befehl wie usernamemit ausführen su, geben Sie das usernameKennwort ein .

Da sudie Authentifizierung für den Zielbenutzer ausgeführt wird , sukönnen Sie Befehle nur als Benutzer ausführen, deren Konten aktiviert sind .

Das rootKonto (wie www-dataund nobody) ist standardmäßig deaktiviert. Es gibt kein Passwort, mit dem Sie sich anmelden können root. Sie können also keine suBefehle ausführen als root.

Sie können verwenden suBefehle als ein anderer Benutzer auszuführen, anmelden können (die in der Regel alle Benutzerkonten auf Ihrem System , die Menschen darstellen einschließt).

Wenn Sie als Gast angemeldet sind, können Sie überhaupt nicht verwenden su.

Kombinieren suundsudo

Jemand, der kein Administrator ist , kann auch verwenden , sulaufen sudoals Administrator an . (Dies ist jedoch in Ordnung, da das Administratorkennwort zum Ausführen von Befehlen als Administrator erforderlich ist.) Das heißt, ein begrenzter Benutzer kann einen Befehl suausführen sudo, indem er verwendet root. Das kann so aussehen:

su username -c 'sudo command...'

(Das Ausführen von Grafikprogrammen auf diese Weise erfordert besondere Sorgfalt .)

Wäre es nicht susicherer, Befehle auszuführen als root?

Wahrscheinlich nicht.

Was ist, wenn ein Benutzer nicht als agieren darf root?

Machen Sie sie zu einem eingeschränkten Benutzer anstelle eines Administrators.

Was passiert , wenn ein Programm läuft als Administrator versucht, sudozu root?

Wenn Sie keine Neukonfiguration vorgenommen haben sudo, damit der Vorgang ohne Kennwort erfolgreich ist, schlägt der Vorgang fehl.

Kann ein Programm, das nicht als rootHuckepack ausgeführt werden soll, bei einem aktuellen sudoBefehl nicht ausgeführt werden, sodass kein Kennwort erforderlich ist?

Es ist sehr unwahrscheinlich, dass dies gelingt. Heutzutage sind die meisten Betriebssysteme (einschließlich Ubuntu) sudostandardmäßig so konfiguriert, dass ihre Zeitstempel nur in einem bestimmten Kontext gelten.

Wenn ich beispielsweise sudo ...auf einer Registerkarte des Terminals ausgeführt und mich erfolgreich authentifiziert habe, wird sudoauf einer anderen Registerkarte (oder von einem nicht verwandten GUI-Programm ausgeführt oder von einer virtuellen Konsole oder einer SSH-Sitzung aus) weiterhin ein Kennwort abgefragt. Auch wenn es unmittelbar danach ausgeführt wird.

Hat ein Programm, das als Benutzer X ausgeführt wird, keinen Zugriff auf das Kennwort von Benutzer X?

Nein.

Wenn ein bösartiges Programm als Administrator ausgeführt werden kann, kann es dann nicht mithören, was eingegeben wird, wenn sich der Administrator bei sudooder mit polkit authentifiziert ?

Möglicherweise ja. Aber dann könnte es sich ein Passwort "anhören", für das es eingegeben wurde su.

Wenn ich jemandem mein Passwort sage -

Teilen Sie den Leuten nicht Ihr Passwort mit.

Was ist, wenn jemand mein Passwort kennen muss, um etwas in meinem Namen zu tun, aber ich möchte nicht, dass er das System verwaltet?

Idealerweise sollten sie über ein separates Benutzerkonto verfügen, mit dem sie das tun können, was sie tun müssen. Kann beispielsweise Dateien für Konten freigeben, sodass mehrere Benutzer darauf schreiben können, während anderen Benutzern der Zugriff verweigert wird.

In Situationen, in denen es einer weniger vertrauenswürdigen Person gestattet ist, Ihr Konto freizugeben, sollte es sich jedoch um ein eingeschränktes Benutzerkonto handeln. Zu diesem Zweck können Sie ein separates Konto einrichten (was sinnvoll ist - wenn es sich um ein Konto für Sie und eine andere Person handelt, für die Sie unterschiedliche Funktionen wünschen, sollte es sich um ein anderes Konto handeln).

So wäre die sicherste Sache sein , sowohl zu verbieten sudound suund die Leute melden Sie sich als rootmanuell?

Nein, da es schwerwiegende Nachteile gibt, wenn sich Personen überhaupt einloggen root. Wann immer möglich, sollte so wenig wie möglich vorgegangen werden root. Selbst die meisten Vorgänge, die sich direkt auf die Verwaltung eines Systems beziehen (z. B. die Anzeige der konfigurierten Benutzer und das Lesen von Protokollen), erfordern normalerweise keine rootBerechtigungen.

Ebenso, wie potenziell ein bösartiges Programm beobachten könnte, was jemand eingibt, wenn er ausgeführt wird, sudooder suoder eine falsche sudo/ suPasswort-Eingabeaufforderung erstellen könnte, könnte potenziell ein bösartiges Programm auch einen falschen Anmeldebildschirm erstellen.

Was macht einen Benutzer zum Administrator?

Gruppenmitgliedschaft.

In Ubuntu 12.04 und höher sind Administratoren Mitglieder der aufgerufenen Gruppe sudo.

In Ubuntu 11.10 und früheren Versionen sind Administratoren Mitglieder der aufgerufenen Gruppe admin.

Wenn ein Ubuntu-System vor 12.04 auf 12.04 oder höher aktualisiert wird, bleibt die adminGruppe aus Gründen der Abwärtskompatibilität erhalten (und erteilt den Benutzern weiterhin Administratorrechte), die sudoGruppe wird jedoch auch verwendet.

Begrenzte Benutzerkonten

Kann ich ein eingeschränktes Benutzerkonto anstelle eines Administratorkontos verwenden?

Wenn Sie möchten, sicher. Erstellen Sie unter Systemeinstellungen > Benutzerkonten ein eingeschränktes Benutzerkonto und melden Sie sich als dieser Benutzer an.

Kann ich mein Administratorkonto zu einem eingeschränkten Benutzerkonto machen?

Ja, entfernen Sie es einfach aus den Gruppen sudound admin(siehe oben).

Sie sollten jedoch sicherstellen, dass mindestens ein weiteres Administratorkonto vorhanden ist, damit Sie Ihr System verwalten können. Wenn dies nicht der Fall ist, müssen Sie in den Wiederherstellungsmodus oder auf eine Live-CD booten und einen Benutzer erneut zum Administrator machen . (Dies ähnelt dem Zurücksetzen eines verlorenen Administratorkennworts .)

Mit grafischen Tools zur Verwaltung von Benutzern und Gruppen können Sie in der Regel kein System ohne Administratoren erstellen oder Sie zumindest warnen. Befehlszeilentools sind normalerweise nicht in der Lage (vertrauen Sie darauf, dass Sie wissen, was Sie tun).

Eliah Kagan
quelle
2
@ EliahKagan-ein weiteres dummes :) Ich werde eine Analogie machen - Root ist wie ein Elternteil und jeder Benutzer ist wie ein Kind. Ältere Kinder (Admins) haben mehr Privilegien. Ein Kind (Benutzer) kann niemals DAS Elternteil (Root) sein. Das 12-jährige Kind kann ungefährliche Dinge im Haus (OS / Ubuntu) wie den Kühlschrank und andere Dinge tun. Er darf das Geld nicht im Safe anfassen. Der 18-Jährige (Administrator) kann jedoch mit 'sudo' oder der Erlaubnis eines Elternteils auf dieses Geld zugreifen. Beide dürfen die Waffe jedoch nicht in einem anderen Tresor berühren. Das kann nur root (Eltern). Macht Sinn ?
Vorname Nachname
1
@FirstNameLastName Administratorkonten repräsentieren echte menschliche Benutzer, die in der realen Welt die volle Macht haben. Administratoren können rootmit sudound PolicyKit " alles machen" . Ein Administrator kann sogar das rootKonto aktivieren und sich anmelden. Wenn Sie ein Benutzerkonto als eine Kombination aus mechanistischen und bewussten Aktionen zusammenfassen, haben menschliche Benutzer sowohl nicht-menschliche als auch rootrein mechanistische Benutzer . Wenn du verstehst, wie das alles funktioniert, dann ist es großartig, wenn deine Analogie dies verstärkt! Aber ich denke nicht, dass es die Beziehung zwischen Root und Admin wirklich erfasst.
Eliah Kagan
7
@FirstNameLastName Es scheint mir eine bessere Analogie zu sein: Administratoren sind wie Bruce Wayne und rootwie Batman. Der Unterschied liegt ganz in der konstruierten Identität. Bruce Wayne kann Batman werden, wann immer er will und fast alles tun, aber er wird immer Bruce Wayne unter der Maske sein. Dennoch ist Batman mehr, wer er wirklich ist - die Bruce Wayne-Persönlichkeit ist eine Erfindung, die ihn vor den Konsequenzen schützt, Batman zu sein. Indem er sich im Alltag als Wayne präsentiert, kann er sich und seine Lieben oftmals vor eigenen Fehlern, Systemfehlern und der Malware von Gotham City schützen.
Eliah Kagan
4

Keine blöde Frage;)

Ich hoffe das klärt ein bisschen:

In Ubuntu können zwei verschiedene Arten von Benutzerkonten erstellt werden: Standardkonten und Administratorkonten . Der Unterschied zwischen den beiden: Ein Standardkonto darf keine wichtigen Änderungen an Ihrem System vornehmen, indem es Root-Zugriff erhält, während ein Administratorkonto möglicherweise sein Kennwort verwendet, um Änderungen als Root-Benutzer vorzunehmen. Der Root-Benutzer selbst ist einer der vielen Benutzer, die das System erstellt hat und die Sie normalerweise nicht sehen oder bemerken und als die Sie sich nicht anmelden können (jedenfalls standardmäßig). Wenn Sie in einem Administratorkonto angemeldet sind, können Sie dieser Root-Benutzer mit dersudo Wenn Sie in einem Terminal einen Befehl eingeben, können Sie Ihr Kennwort eingeben, um Software zu installieren, Systemänderungen vorzunehmen usw. Wenn Sie als Standardbenutzer angemeldet sind, können Sie dies nicht tun.

Richard
quelle
Wenn der Administrator root werden kann, indem er nur einen Befehl ausführt, kann jemand anderes / Hacker ihn remote ausführen und root-Benutzer werden?
Vorname Nachname
@FirstNameLastName Sie müssen bereits als einer der anderen Benutzer remote angemeldet sein, um ausgeführt werden zu könnensudo
Izkata
@FirstNameLastName fordert sudo außerdem zur Eingabe eines Kontonamens und eines Kennworts auf, bevor Root-Zugriff gewährt wird.
Destrictor
@ Destrictor - ja, das tut es. Tatsächlich hat mich das verwirrt. Ich bin in einem Administratorkonto und gebe das Administratorkennwort ein, um mich bei root anzumelden. Warum gibt es zwei Konten, wenn das Passwort und der Benutzername für admin und root identisch sind?
Vorname Nachname
@FirstNameLastName Der Hauptgrund für die Eingabe des Kennworts bei Verwendung von sudo ist die Protokollierung. Dies ist hauptsächlich aus Sicherheitsgründen (etwas ist passiert und Ihre IT-Abteilung findet heraus, wer / was / wo)
Destrictor
3

In allen Linux-Systemen Um Änderungen am System vornehmen zu können, müssen wir als Root-Benutzer authentifiziert sein und alle Änderungen übernehmen, die wir als Root-Benutzer vornehmen müssen.

Normale Benutzer können die Änderungen nicht systemweit anwenden. Dies ist der Vorteil von Linux im Vergleich zu Windows.

Wenn ein Angriff ausgeführt wird, betrifft dies nur diesen Bereich im Linux / Unix-System, da zum Angreifen oder Ändern der verbleibenden Bereiche Root-Berechtigungen erforderlich sind. Wenn jedoch ein Bereich in Windows angegriffen wird, wird das gesamte System betroffen.

Das ist der Grund, warum wir einen Benutzer nur in vielen Fragen warnen, wenn er keine Aufforderung zur Eingabe des Root-Passworts erhält, da dies unter Sicherheitsgründen nicht empfohlen wird, und die Wahl ihnen überlassen.

Wenn Sie sich in einen Root-Benutzer verwandeln möchten, kann sudo Ihnen helfen.

sudo -i 

Wenn Sie die Anwendung als Root-Benutzer starten möchten, können Sie sudo.

sudo <app_name>

Es ist immer besser, das System als Nicht-Root-Benutzer auszuführen.

rɑːdʒɑ
quelle
3

Das während der Installation erstellte Konto ist ein Administratorkonto .

In Ubuntu hat der root-Account kein Passwort und daher können Sie sich nicht als rootBenutzer anmelden . Es gibt Möglichkeiten, dies zu umgehen, dies ist jedoch die Standardeinstellung.

Ein Administratorkonto in Ubuntu bedeutet, dass der Benutzer der Gruppe hinzugefügt wird sudo, wodurch das Konto berechtigt ist, mit dem sudoBefehl vorübergehend Berechtigungen zu erhalten . PolicyKit kann die Eskalation von Berechtigungen anfordern, indem Sie das Administratorkennwort eingeben. (Sie müssen einen Administratorbenutzer auswählen und das Kennwort dieses Kontos eingeben.)

Um zu bestätigen, dass diese wahr sind:

  • Öffnen Sie ein Terminal und versuchen Sie, den Softwarepaketindex zu aktualisieren. apt-get updateist der Befehl , es zu tun pflegte , und dies erfordert als root ausgeführt werden. Dies funktioniert nur, wenn Sie sich entweder als root anmelden oder als root unter Verwendung von Eskalationsrechten ausführen. Ein Administrator kann ausgeführt werden, sudo apt-get updateindem er sich bei dem sudoMechanismus authentifiziert, mit dem Befehle als jeder Benutzer ausgeführt werden können. Ein Standardbenutzer darf dies nicht tun.

  • Öffnen Sie Benutzerkonten in den Systemeinstellungen und versuchen Sie, einen neuen Benutzer hinzuzufügen. Der dort verwendete Schutzmechanismus ist das PolicyKit. Administratoren können Berechtigungen authentifizieren und eskalieren, Standardbenutzer werden jedoch blockiert. Zum Fortfahren ist ein Administratorkennwort erforderlich.

So überprüfen Sie, ob Ihr Konto ein Administrator ist:

  • Öffnen Sie Benutzerkonten in den Systemeinstellungen.
  • Wählen Sie in der linken Spalte Ihr Benutzerkonto aus.
  • Sie sollten Administratorunter dem Kontonamen in beiden Bereichen für Administratorkonten und Standardfür normale Benutzer sehen.
Mahesh
quelle
2

Nein.

Der Benutzer, mit dem Sie sich bei Ubuntu anmelden, ist nicht der Administratorbenutzer (der Administratorbenutzer in der Linux-Terminologie heißt root).

Tomodachi
quelle
6
Das ist bestenfalls irreführend. Der während der Installation erstellte Benutzer ohne Rootberechtigung ist ein Administrator. Nicht root, sondern ein Administrator (was bedeutet, dass er Aktionen wie rootmit sudound PolicyKit ausführen kann ).
Eliah Kagan,
@EliahKagan - ok, was ist dann der Unterschied zwischen Administrator- und Root-Accounts? Ich bin neu in Linux und auch in der Informatik, bitte nehmen Sie mich mit.
Vorname Nachname
@EliahKagan Nicht wirklich, das ist nur der Versuch, die Windows-Terminologie auf Linux anzuwenden. sudoDer Zugriff kann durch das Programm eingeschränkt werden, das Sie als root ausführen möchten.
Izkata
@FirstNameLastName Es gibt einen Benutzer mit dem Namen "root" (normalerweise, ich habe gehört, dass er geändert werden kann, aber ich weiß nicht wie). Es hat Zugang zu allem.
Izkata
2
@Izkata Nein, Administrator hat in Ubuntu eine bestimmte Bedeutung. Es ist einfach völlig falsch zu sagen, dass das während der Installation erstellte Benutzerkonto kein Administrator ist. Das Zulassen, dass bestimmte Befehle wie rootmit ausgeführt sudowerden, ist irrelevant. Administratoren können jeden Befehl wie rootmit ausführen sudo. Standardmäßig können rootkeine anderen Benutzer Befehle als (oder andere Benutzer) mit ausführen sudo. Außerdem sudoist dies nur ein Mechanismus, um Aktionen als Root auszuführen. sudoHeutzutage wird davon ausgegangen, dass PolicyKit häufig verwendet wird.
Eliah Kagan