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> 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 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.

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.

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 .)

Nach erfolgreicher Authentifizierung wird der Befehl im Terminal 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).