So fügen Sie einen Benutzer zur sudoers-Datei in Linux hinzu

Veröffentlicht: 2022-11-02
Linux-Laptop mit einer Bash-Eingabeaufforderung
fatmawati achmad zaenuri/Shutterstock.com
Wenn einem Benutzer mitgeteilt wird, dass er sich nicht in der sudoers-Datei befindet, können Sie dem Benutzer mit dem Befehl usermod volle sudo-Berechtigungen erteilen. Um zu steuern, was ein Benutzer mit sudo tun kann, bearbeiten Sie die sudoers-Datei mit visudo.

Die Personen, die den Linux-Befehl sudo verwenden können, sind Mitglieder eines kleinen und ausgewählten Clubs, der manchmal als „Sudoers“-Liste bezeichnet wird. Jedes Mitglied hat die gleichen Befugnisse wie root . Wie tritt man diesem Club bei? Wir gehen durch das Hinzufügen einer Person zu sudoers sowie das Bearbeiten der sudoers-Datei, um Berechtigungen einzuschränken.

Inhaltsverzeichnis

sudo: Ihr übermächtiges Alter-Ego
Die sudoers-Datei und visudo
Fügen Sie einen neuen sudo-Benutzer in Ubuntu und anderen Linux-Distributionen hinzu
Beschränken Sie die sudo-Berechtigungen, indem Sie die sudoers-Datei bearbeiten
Wer auch immer dieses Kommando hat

sudo: Ihr übermächtiges Alter-Ego

In Linux-Installationen ist der Root-Benutzer der Benutzer mit den höchsten Berechtigungen. Sie können jede administrative Aufgabe ausführen, auf jede Datei zugreifen, unabhängig davon, ob sie tatsächlich der Eigentümer ist, und sie können andere Benutzer erstellen, manipulieren und sogar entfernen.

Diese Macht ist gefährlich. Wenn root einen Fehler macht, können die Ergebnisse katastrophal sein. Sie haben die Fähigkeit, Dateisysteme zu mounten und zu unmounten und sie vollständig zu überschreiben. Eine viel sicherere Arbeitsweise besteht darin, sich niemals als root anzumelden.

8 Möglichkeiten zum Optimieren und Konfigurieren von Sudo unter Ubuntu
RELATED 8 Ways to Tweak and Configure Sudo on Ubuntu

Nominierte Benutzer können sudo verwenden, um vorübergehend administrative Befugnisse zu erlangen, die erforderliche Aktion auszuführen und dann in ihren normalen, nicht privilegierten Zustand zurückzukehren. Dies ist sicherer, weil Sie Ihre höheren Kräfte bewusst anrufen, wenn Sie sie brauchen, und während Sie sich darauf konzentrieren, das zu tun, was sie erfordert.

Der Befehl sudo ist das Linux-Äquivalent zum Rufen von „Shazam“. Wenn das gruselige Zeug vorbei ist, gibst du dein übermächtiges Alter Ego auf und kehrst zu deinem normalen eintönigen Selbst zurück.

Die Anmeldung als root ist bei den meisten modernen Distributionen standardmäßig deaktiviert, kann aber wiederhergestellt werden. Die Verwendung des Root-Kontos für die tägliche Arbeit ist nicht ratsam. Fehler, die normalerweise einen einzelnen Benutzer betreffen würden oder die aufgrund unzureichender Berechtigungen vollständig blockiert würden, können ungehindert ausgeführt werden, wenn root sie ausgibt.

Moderne Linux-Distributionen gewähren dem Benutzerkonto, das während der Installations- oder Konfigurationsschritte nach der Installation erstellt wird, sudo -Berechtigungen. Wenn jemand anderes versucht, sudo zu verwenden, wird eine Warnmeldung wie diese angezeigt:

 Mary ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.

Das scheint einfach genug. Unsere Benutzerin mary kann sudo nicht verwenden, weil sie sich nicht „in der sudoers-Datei“ befindet. Mal sehen, wie wir sie hinzufügen können.

VERWANDT: So steuern Sie den sudo-Zugriff unter Linux

Die sudoers-Datei und visudo

Bevor jemand den sudo -Befehl verwenden kann, müssen wir mit der sudoers -Datei arbeiten. Dies listet die Benutzergruppen der Benutzer auf, die sudo verwenden können. Wenn wir Änderungen an der Datei vornehmen müssen, müssen wir sie bearbeiten.

Die sudoers -Datei muss mit dem visudo Befehl geöffnet werden. Dadurch wird die sudoers -Datei gesperrt und verhindert, dass zwei Personen gleichzeitig versuchen, Änderungen vorzunehmen. Es führt auch einige Plausibilitätsprüfungen durch, bevor Ihre Änderungen gespeichert werden, um sicherzustellen, dass sie korrekt geparst werden und syntaktisch einwandfrei sind.

Beachten Sie, dass visudo kein Editor ist, sondern einen Ihrer verfügbaren Editoren startet. Auf Ubuntu 22.04, Fedora 37 und Manjaro 21 startete visudo nano. Auf Ihrem Computer ist dies möglicherweise nicht der Fall.

Wenn wir jemandem Zugriff auf vollständige sudo -Berechtigungen gewähren möchten, müssen wir nur auf einige Informationen aus der sudoers -Datei verweisen. Wenn wir detaillierter vorgehen und unserem Benutzer einige der Fähigkeiten von root geben möchten, müssen wir die Datei bearbeiten und die Änderungen speichern.

In jedem Fall müssen wir visudo verwenden.

VERWANDT: So beenden Sie den Vi- oder Vim-Editor

Fügen Sie einen neuen sudo-Benutzer in Ubuntu und anderen Linux-Distributionen hinzu

Wir haben zwei Benutzer, die Zugriff auf Root-Privilegien benötigen, um ihre beruflichen Rollen auszuführen. Sie sind Tom und Maria. Mary muss Zugriff auf alles haben, was root tun kann. Tom muss nur Anwendungen installieren.

Lassen Sie uns zuerst Mary zur Gruppe der Sudoer hinzufügen. Wir müssen visudo starten.

 sudo visudo 

Starten von visudo unter Ubuntu Linux

Scrollen Sie im Editor nach unten, bis Sie den Abschnitt „User Privilege Specification“ sehen. Suchen Sie nach einem Kommentar, der etwas Ähnliches wie „Mitgliedern dieser Gruppe erlauben, jeden Befehl auszuführen“ sagt.

Die sudoers-Datei wird im Nano-Editor geöffnet

Uns wurde gesagt, dass Mitglieder der sudo -Gruppe jeden Befehl ausführen können. Alles, was wir in Marys Fall wissen müssen, ist der Name dieser Gruppe. Es ist nicht immer sudo ; es könnte wheel oder etwas anderes sein. Da wir nun den Namen der Gruppe kennen, können wir den Editor schließen und Mary zu dieser Gruppe hinzufügen.

So ändern Sie Benutzerdaten mit chfn und usermod unter Linux
RELATED So ändern Sie Benutzerdaten mit chfn und usermod unter Linux

Wir verwenden den Befehl usermod mit den Optionen -a (Anhängen) und -G (Gruppenname). Die Option -G ermöglicht es uns, die Gruppe zu benennen, zu der wir den Benutzer hinzufügen möchten, und die Option -a weist usermod an, die neue Gruppe der Liste bestehender Gruppen hinzuzufügen, in denen sich dieser Benutzer bereits befindet.

Wenn Sie die Option -a nicht verwenden, ist die einzige Gruppe, der Ihr Benutzer angehört, die neu hinzugefügte Gruppe. Überprüfen Sie dies noch einmal und vergewissern Sie sich, dass Sie die Option -a eingefügt haben.

 sudo usermod -aG sudo mary 

Verwenden von usermod, um den Benutzer mary zur sudo-Gruppe hinzuzufügen

Wenn sich Mary das nächste Mal anmeldet, hat sie Zugriff auf sudo . Wir haben sie angemeldet und versuchen, die Dateisystemtabellendatei „/etc/fstab“ zu bearbeiten. Dies ist eine Datei, die für alle außer root .

 sudo nano /etc/fstab 

Verwenden von usermod, um den Benutzer mary zur sudo-Gruppe hinzuzufügen

Der Nano-Editor wird mit der geladenen Datei „/etc/fstab“ geöffnet.

Benutzer Mary bearbeitet die Datei /etc/fstab mit sudo

Ohne sudo -Berechtigungen könnten Sie dies nur als schreibgeschützte Datei öffnen. Mary hat diese Einschränkungen nicht mehr. Sie kann alle vorgenommenen Änderungen speichern.

Schließen Sie den Editor und speichern Sie eventuell vorgenommene Änderungen nicht .

Beschränken Sie die sudo-Berechtigungen, indem Sie die sudoers-Datei bearbeiten

Unser anderer Benutzer, Tom, erhält die Berechtigung zum Installieren von Software, aber er erhält nicht alle Privilegien, die Mary zuerkannt wurden.

Wir müssen die sudoers -Datei bearbeiten.

 sudo visudo 

Starten von visudo unter Ubuntu Linux

Scrollen Sie im Editor nach unten, bis Sie den Abschnitt „User Privilege Specification“ sehen. Suchen Sie nach einem Kommentar, der etwas Ähnliches sagt wie „Den Mitgliedern dieser Gruppe erlauben, jeden Befehl auszuführen“. Es ist dieselbe Stelle in der Datei, an der wir den Namen der Gruppe gefunden haben, zu der wir Mary hinzufügen mussten.

Fügen Sie diese Zeilen unter diesem Abschnitt hinzu.

 # Benutzer Tom kann Software installieren
tom ALL=(root) /usr/bin/apt 

Hinzufügen neuer Einträge zur sudoers-Datei

Die erste Zeile ist ein einfacher Kommentar. Beachten Sie, dass sich zwischen dem Benutzernamen „tom“ und dem Wort „Alle“ ein Tabulatorzeichen befindet.

Das bedeuten die Punkte auf der Linie.

  • tom : Der Name der Standardgruppe des Benutzers . Normalerweise ist dies derselbe wie der Name ihres Benutzerkontos.
  • ALL= : Diese Regel gilt für alle Hosts in diesem Netzwerk.
  • (root) : Mitglieder der Gruppe „tom“ – also der Benutzer Tom – können root -Rechte für die aufgeführten Befehle annehmen.
  • /usr/bin/apt : Dies ist der einzige Befehl, den Benutzer Tom als root ausführen kann.

Wir haben hier den apt -Paketmanager angegeben, weil dieser Computer Ubuntu Linux verwendet. Sie müssen dies durch den entsprechenden Befehl ersetzen, wenn Sie eine andere Distribution verwenden.

Lassen Sie uns Tom anmelden und sehen, ob wir das erwartete Verhalten erhalten. Wir werden versuchen, die Datei „/etc/fstab“ zu bearbeiten.

 sudo nano /etc/fstab 

Versuch, die Datei /etc/fstab ohne sudo-Berechtigungen zu bearbeiten

Dieser Befehl wird abgelehnt, und uns wird gesagt, dass „Benutzer Tom nicht berechtigt ist, ‚/usr/bin/nano /etc/fstab‘ als Root auszuführen …“

Das wollten wir. Benutzer Tom soll nur den apt -Paketmanager verwenden können. Stellen wir sicher, dass sie das können.

 sudo apt installiere neofetch 

Benutzer Tom, der den apt-Befehl mit sudo verwendet

Der Befehl wird für Tom erfolgreich ausgeführt.

Wer auch immer dieses Kommando hat

Wenn alle Ihre Benutzer sudo verwenden können, haben Sie Chaos in Ihren Händen. Aber es lohnt sich, andere Benutzer zu fördern, damit sie Ihren Verwaltungsaufwand teilen können. Stellen Sie einfach sicher, dass sie es wert sind, und behalten Sie sie im Auge.

Selbst wenn Sie der einzige Benutzer auf Ihrem Computer sind, sollten Sie erwägen, ein weiteres Benutzerkonto zu erstellen und ihm vollen Zugriff auf sudo zu gewähren. Auf diese Weise haben Sie, falls Sie jemals von Ihrem Hauptkonto ausgesperrt werden, ein anderes Konto, mit dem Sie sich anmelden können, um zu versuchen, das Problem zu beheben.

VERWANDT: So überprüfen Sie die Verwendung des sudo-Befehls unter Linux