Wie die Kontrolle sudo-Zugriff auf Linux

0
871
Fatmawati Achmad Zaenuri/Shutterstock

Der sudo-Befehl ermöglicht das ausführen von Befehlen unter Linux so als ob Sie jemand anderes, wie z.B. root. sudo lässt Sie auch Steuern können, wer Zugriff auf root-Funktionen, mit einer Granularität. Geben Sie die Benutzer vollen Zugriff oder lasse Sie mit einem kleinen Teil der Befehle. Wir zeigen Ihnen, wie.

sudo und Root-Rechte

Wir haben alle gehört (die starke Vereinfachung), dass alles in Linux ist eine Datei. In Wahrheit praktisch alles, was in das Betriebssystem, Prozesse, Dateien, Verzeichnisse, sockets und pipes sprechen Sie mit dem kernel über einen Datei-Deskriptor. So, obwohl alles ist nicht eine Datei, sind die meisten Betriebssystem-Objekte werden so behandelt, als ob Sie waren. Wo es möglich ist, das design der Linux-und Unix-wie Betriebssysteme Einhaltung dieses Prinzip.

Das Konzept “alles ist eine Datei” ist weit reichend in Linux. Es ist leicht zu sehen, dann, wie Dateiberechtigungen in Linux wurde zu einem der Grundpfeiler der user-Privilegien und Rechte. Wenn Sie eine Datei oder ein Verzeichnis (eine spezielle Art von Datei), Sie können tun, was Sie möchten, einschließlich Bearbeiten, umbenennen, verschieben und löschen. Sie können auch die Berechtigungen auf die Datei, so dass andere Nutzer oder Gruppen von Nutzern können Lesen, ändern oder ausführen der Datei. Jeder richtet sich nach diesen Berechtigungen.

Jeder, der ist, abgesehen von der superuser, bekannt als root. Der root-account ist ein besonders privilegiertes Konto. Es ist nicht gebunden an die Berechtigungen auf die Objekte in das Betriebssystem. Der root-Benutzer kann alles tun, alles, und ziemlich viel, zu jeder Zeit.

Natürlich kann jeder mit Zugriff auf root-Passwort kann das gleiche tun. Konnten Sie verheerenden Schaden entweder absichtlich oder versehentlich. In der Tat, der root-Benutzer kann sich verheerend durch einen Fehler zu machen auch. Niemand unfehlbar ist. Es ist gefährliches Zeug.

Dies ist, warum es wird nun als best-practice zu nicht als root anmelden überhaupt. Log-in mit einem normalen Benutzer-account und sudo verwenden, um erhöhen Sie Ihre Privilegien für die kurze Dauer, die Sie benötigen. Oft ist nur die Ausgabe eines einzelnen Befehls.

Im ZUSAMMENHANG: Was Bedeutet “Alles Ist eine Datei” Bedeutet in Linux?

Die sudoers-Liste

sudo war schon installiert auf dem Ubuntu-18.04.3, Manjaro 18.1.0 und Fedora 31 Computern verwendet, um die Forschung in diesem Artikel. Dies ist keine überraschung. sudo hat schon seit den frühen 1980er Jahren und hat sich als standard bedeutet, dass der superuser-Betrieb für fast alle Distributionen.

Beim installieren einer modernen Distribution, die Benutzer, die Sie erstellen, während der Installation Hinzugefügt wird eine Liste der Benutzer namens “sudoers”. Diese sind die Benutzer können die Verwendung des sudo-Befehls. Denn Sie haben sudo-Kräfte, Sie können Sie weitere Benutzer hinzufügen, um der Liste der sudoers.

Natürlich ist es rücksichtslos, die hand aus vollen superuser-status, wohl oder übel, oder wer hat nur eine teilweise oder speziellen Bedarf. Die sudoers-Liste können Sie festlegen, welche Befehle der verschiedenen Benutzer erlaubt, mit Hilfe von sudo mit. Daß Weise, Sie nicht geben Ihnen die Schlüssel zum Königreich, aber Sie können noch erreichen, was Sie tun müssen.

Einen Befehl ausführen als Anderer Benutzer

Ursprünglich wurde es als “superuser tun”, denn Sie könnten Dinge tun, als superuser an. Dessen Anwendungsbereich erweitert wurde nun, und man kann sudo verwenden, um einen Befehl auszuführen, als würden Sie jeden Anwender. Es wurde umbenannt, um zu widerspiegeln, dass die neue Funktionalität. Es heißt jetzt “substitute user do.”

Verwenden sudo ausführen einen Befehl als ein anderer Benutzer, müssen wir die-u (user) – option. Hier, wir gehen, führen Sie das whoami-Befehl als der Benutzer mary. Wenn Sie die sudo-Befehl ohne die option-u verwenden, führen Sie den Befehl als root aus.

Und natürlich, weil man mit sudo werden Sie nach Ihrem Passwort gefragt.

sudo -u mary whoami

Die Antwort von whoami sagt uns, dass der Benutzer-account ausgeführt wird der Befehl mary.

Sie können den sudo-Befehl zum anmelden als ein anderer Benutzer, ohne zu wissen, Ihr Passwort. Sie werden aufgefordert, Ihr eigenes Passwort. Brauchen wir das -ich (login) aktivieren.

sudo-i -u Maria
pwd
whoami
ls -hl
beenden

Sie sind angemeldet als Maria. Die “.bashrc”, “.bash_aliases”, und “.Profil” – Dateien für die mary-Nutzer-Konto sind genauso verarbeitet, als wenn der Besitzer der Maria-Benutzerkonto eingeloggt hatte, in sich selbst.

  • Die Eingabeaufforderung ändert sich, um dies zu reflektieren ist eine Sitzung für den Benutzer-account-Maria.
  • Die pwdcommand reprots, dass Sie jetzt in mary ‘ s home-Verzeichnis.
  • whoami sagt uns, dass Sie Benutzer-account-Maria.
  • Die Dateien in das Verzeichnis gehören die Maria-Benutzerkonto aus.
  • Der exit-Befehl kehrt Sie zu Ihrem normalen Benutzer-account-Sitzung.

Editieren der sudoers Datei

Benutzer hinzufügen, die Liste der Leute, die sudo verwenden , benötigen Sie zum editieren der sudoers-Datei. Es ist äußerst wichtig, dass Sie immer nur so tun, mit dem Befehl visudo. Der Befehl visudo wird verhindert, dass mehrere Personen von dem Versuch Bearbeiten Sie die sudoers-Datei auf einmal. Es führt auch die syntax überprüfen und analysieren auf den Inhalt der Datei, wie Sie Sie speichern.

Wenn Sie Ihre änderungen nicht die tests bestehen, die Datei nicht blind gespeichert. Sie erhalten Optionen. Sie können Abbrechen und verlassen Sie die änderungen, gehen Sie zurück und Bearbeiten Sie die änderungen wieder, oder die Kraft, das falsche änderungen gespeichert werden. Die Letzte option ist eine ausgesprochen schlechte Idee. Nicht versucht sein, das zu tun. Sie finden sich in einer situation, wo jeder versehentlich gesperrt werden, die Verwendung von sudo.

Obwohl Sie Bearbeiten mit dem Befehl visudo, visudo ist nicht ein Herausgeber. Er fordert eine bestehende Editoren zum ausführen der Datei bearbeitet. Auf Manjaro und Ubuntu, ist der Befehl visudo startete die einfachen editor nano. Auf Fedora, visudo gestartet, die weitere Lage—aber weniger intuitiv—vim.

RELATED: so Beenden Sie den Vi oder Vim-Editor

Wenn Sie lieber nano nutzen, die auf Fedora, können Sie so leicht tun. Installieren Sie zunächst nano:

sudo dnf install nano

Und dann visudo musste aufgerufen werden, mit diesem Befehl:

sudo EDITOR=nano visudo

Das sieht wie ein guter Kandidat für einen alias. Die nano-editor wird geöffnet mit der sudoers-Datei geladen in es.

Hinzufügen von Benutzern zu der Gruppe sudo

Immer visudo verwenden, um öffnen Sie die “sudoers” – Datei. Entweder verwenden Sie diesen Befehl, oder das oben beschriebene zu geben Sie den editor Ihrer Wahl:

sudo visudo

Blättern Sie durch die “sudoers” – Datei, bis Sie sehen, die definition der %sudo Eintrag.

Das Prozentzeichen gibt an, dass dies eine Gruppe-definition und nicht um eine Benutzerdefinition. Bei manchen Distributionen, die %sudo Linie hat ein hash # am Anfang der Zeile. Das macht die Zeile ein Kommentar. Wenn dies der Fall ist, entfernen Sie die Raute und speichern Sie die Datei.

Die %sudo Zeilenumbrüche nach wie diese:

  • %sudo: den Namen Der Gruppe.
  • ALLE=: gilt Diese Regel für alle hosts in diesem Netzwerk.
  • (ALL:ALL): Mitglieder dieser Gruppe können Befehle ausführen, da alle Benutzer und alle Gruppen.
  • Alle: Mitglieder dieser Gruppe können alle ausführen Befehle.

Umformulieren, dass etwas, Mitglieder dieser Gruppe können jeden Befehl ausführen, wie jeder Benutzer oder jede Gruppe, die auf diesem computer oder auf einem beliebigen anderen host in diesem Netzwerk. So eine einfache Möglichkeit zu geben, jemand root-Rechte und die Möglichkeit zur Verwendung von sudo ist, um Sie in der sudo-Gruppe.

Wir haben zwei Nutzer, Tom und Mary, mit Benutzer-accounts zu tom und mary beziehungsweise. Wir werden hinzufügen, Benutzer-account-tom in die sudo-Gruppe mit dem usermod-Befehl. Die -G (- Gruppen) die option gibt die Gruppe, wir gehen zum hinzufügen von tom Konto. Die -a (append) option fügt dieser Gruppe, um die Liste der Gruppen, die das Benutzerkonto tom ist bereits in. Ohne diese option wird der Benutzer-account-tom platziert werden würde in der neuen Gruppe aber entfernt von allen anderen Gruppen.

sudo usermod-a -G sudo tom

Lassen Sie uns überprüfen, welche Gruppen Mary ist in:

Gruppen

Das Benutzerkonto mary ist nur in der Maria-Gruppe.

Lassen Sie uns mit Tom:

Gruppen

Die tom-Benutzerkonto—und damit, Tom—ist in den Gruppen tom und sudo.

Lassen Sie uns versuchen, um Maria etwas zu tun, das erfordert sudo-Berechtigungen.

sudo less /etc/shadow

Maria kann nicht sehen Sie in den eingeschränkten Datei “/etc/shadow.” Sie bekommt ein leichtes geschimpft für den Versuch zu verwenden sudo ohne Erlaubnis. Lassen Sie uns, wie Tom Tarife:

sudo less /etc/shadow

Sobald Tom sein Passwort eingibt, er wird auf die Datei /etc/shadow.

Nur durch das hinzufügen ihn zu der sudo-Gruppe, wurde er erhoben zu der elite zählt, wer kann sudo verwenden. Völlig uneingeschränkt.

Geben die Benutzer Eingeschränkten sudo-Rechten

Tom gegeben hat volle sudo-Rechte. Er kann alles tun, die root—oder jemand anderes in der sudo-Gruppe tun kann. Das könnte ihm noch mehr macht als du bist glücklich, zu übergeben. Manchmal gibt es eine Anforderung für einen Benutzer zum ausführen einer Funktion benötigt root-Rechte, aber es ist nicht ein berechtigter Fall für Sie volle sudo-Zugriff. Sie erreichen das Gleichgewicht, indem Sie die sudoers-Datei und Auflistung der Kommandos, die Sie verwenden können.

Wir treffen uns Harry, Besitzer des Benutzerkontos harry. Er ist nicht in der sudo-Gruppe, und er hat keine sudo-Rechte.

Gruppen

Es ist nützlich für Harry in der Lage sein, um die software zu installieren, aber wir wollen nicht dass er volle sudo-Rechte. OK, kein problem. let ‘ s fire up visudo:

sudo visudo

Blättern Sie nach unten durch die Datei, bis Sie hinter dem Gruppe-Definitionen. Wir fügen eine Zeile für Harry. Denn dies ist ein Benutzer, der definition und nicht eine Gruppe, die definition, die wir nicht brauchen, an der die Linie beginnen mit einem Prozentzeichen.

Den Eintrag für das Benutzerkonto harry ist:

harry ALL=/usr/bin/apt-get

Beachten Sie, dass es eine Registerkarte zwischen “harry” und die “ALLE=.”

Das liest sich wie Benutzerkonto harry kann Sie mit den aufgeführten Befehle auf allen hosts, die mit diesem Netzwerk verbunden sind. Es ist ein Befehl aufgeführt, die “/usr/bin/apt-get.” Wir gewähren können, dass Harry Zugang zu mehr als einem Befehl, indem Sie den Befehl Liste, durch Kommas getrennt.

Fügen Sie die Zeile der sudoers-Datei, und speichern Sie die Datei. Wenn Sie möchten, um zu überprüfen, dass die Zeile syntaktisch richtig ist, können wir Fragen visudo zum Scannen der Datei und überprüft die syntax für uns, durch die Verwendung der Option-c (check only) option:

sudo visudo -c

Die Prüfungen stattfinden und visudo berichten, dass alles gut ist. Harry sollte nun in der Lage sein, die Verwendung von apt-get, software zu installieren, sollten aber abgelehnt werden, wenn er versucht, zu verwenden, andere Befehle erfordern sudo.

sudo apt-get install finger

Der entsprechende sudo-Rechte gewährt wurden, um Harry, und er ist in der Lage, um die software zu installieren.

Was passiert, wenn Harry versucht, einen anderen Befehl, der benötigt sudo?

sudo shutdown now

Harry verhindert Ausführung des Befehls. Wir haben uns erfolgreich gewährt, die ihn bestimmten, eingeschränkten Zugang. Er kann die nominiert-Befehl, und sonst nichts.

Mit sudoers User-Aliase

Wenn wir wollen, dass Maria die gleichen Privilegien, könnten wir hinzufügen einer Zeile in der sudoers Datei für den user-account Maria in genau der gleichen Weise, wie wir mit Harry. Ein anderer, ordentlicher, Art, das gleiche zu erreichen, ist die Verwendung einer Benutzeralias.

in der sudoers-Datei, ein Benutzeralias enthält eine Liste von Benutzer-account-Namen. Der name der Benutzeralias können Sie dann in eine definition zu stellen, all jene Benutzerkonten. Wenn Sie möchten, ändern Sie die Berechtigungen für diese Benutzer-accounts, müssen Sie nur eine Zeile zu Bearbeiten.

Lassen Sie uns ein Benutzeralias und verwenden Sie es in unseren sudoers-Datei.

sudo visudo

Blättern Sie in der Datei, bis Sie den Benutzeralias Spezifikation Linie.

Fügen Sie den Benutzeralias durch Eingabe von:

Benutzeralias INSTALLATEURE = harry, mary

Jedes element ist durch ein Leerzeichen getrennt, nicht einen tab. Die Logik gliedert sich wie:

  • Benutzeralias: Das sagt visudo, das wird ein Benutzeralias.
  • INSTALLATEURE: Dies ist ein beliebiger name für diesen alias.
  • = harry, mary: Die Liste der Benutzer in dieser alias.

Jetzt werden wir Bearbeiten Sie die Zeile, die wir Hinzugefügt, die zuvor für das Benutzerkonto, harry:

harry ALL=/usr/bin/apt-get

Ändern, so dass es liest:

INSTALLATEURE ALL=/usr/bin/apt-get

Diese besagt, dass alle Benutzer-accounts enthalten in der definition der “INSTALLER” Benutzeralias können, führen Sie den Befehl apt-get. Wir können dies testen, mit Maria, die sollten nun in der Lage, software zu installieren.

sudo apt-get install colordiff

Mary ist in der Lage, um die software zu installieren, weil Sie in der “INSTALLER” Benutzeralias, und dass Benutzeralias vergeben wurde, die diese Rechte.

Drei Schnelle sudo Tricks

Wenn Sie vergessen, hinzuzufügen sudo einen Befehl geben

sudo !!

Und der Letzte Befehl wird wiederholt, mit sudo Hinzugefügt, um den Anfang der Linie.

Sobald Sie verwendet habe, sudo und authentifiziert mit Ihrem Passwort, das Sie nicht haben, um Ihr Passwort weitere sudo-Befehle für 15 Minuten. Wenn Sie möchten, um Ihre Authentifizierung vergessen sofort, verwenden Sie:

sudo -k

Überhaupt sich Wundern, wo Sie sehen können, scheiterte sudo-Befehl versucht? Gehen Sie zu “/var/log/auth.log” – Datei. Man kann es mit:

less /var/log/auth.melden

Wir sehen den Eintrag für das Benutzerkonto Maria, der angemeldet war, bei TTY pts/1 wenn Sie versucht, führen Sie den shutdown-Befehl als Benutzer “root.”

Mit Großer Kraft…

…kommt die Fähigkeit zu delegieren, Teile es den anderen. Jetzt wissen Sie, wie zu befähigen, anderen Benutzern selektiv.

LESEN SIE WEITER

  • › Wie DNS Über HTTPS (DoH) Steigern die Online-Privatsphäre
  • › Exklusiv-Angebot: Aufladen, Verbinden, Erweitern Sie Ihr MacBook mit diesem $29 7-in-1 USB-C-Hub Adapter
  • › So Ändern Sie Ihr Google-Stadien Benutzername und Avatar
  • › So Scannen Sie ein Dokument in Windows 10
  • › So Verwenden Sie den Befehl ps, um Überwachen von Linux-Prozessen