Welche Methode zum Erteilen von sudo verwendet werden soll

13

Was ist der Unterschied zwischen dem Hinzufügen eines Benutzers zu /etc/sudoersund usermod -a -G sudo? Mit welcher Methode soll sudo gewährt werden?

Sonique
quelle
6
Für Ubuntu solltest du das Bearbeiten /etc/sudoersunter keinen Umständen unbedingt vermeiden . Fügen Sie stattdessen Konfigurationsfragmente zum /etc/sudoers.dVerzeichnis hinzu. Die Verwendung des Fragmentordners erleichtert das Upgrade, da Sie eine Conffile geändert haben.
Zoredache
@ Zoredache - ausgezeichneter Punkt. Interessiert es Sie, wenn ich das zu meiner Antwort hinzufüge? Ich möchte das nicht würdigen, aber dieser Tipp sollte in einer Antwort stehen, falls die Kommentargötter dies aus irgendeinem Grund tun.
EEAA
2
@EEAA, ich erteile Ihnen die Erlaubnis zur Verwendung der oben genannten und anderer Kommentare, die ich verfasse, um sie zu tatsächlichen Antworten zusammenzufassen. Ich füge Kommentare hinzu, weil ich zu faul / beschäftigt bin, um eine vollständige Antwort hinzuzufügen, aber es macht mir nichts aus, wenn Leute meine Kommentare aufnehmen und sie in eine vollständig gute Antwort integrieren.
Zoredache

Antworten:

19

Wenn Sie dies vermeiden können, erteilen Sie einzelnen Benutzern niemals sudo-Berechtigungen. Gewähren Sie einer Gruppe immer Berechtigungen und fügen Sie dieser Gruppe dann Benutzer hinzu.

Fügen Sie für Ubuntu-basierte Server, anstatt Zeilen /etc/sudoershinzuzufügen, Fragmente von Konfigurationsdateien hinzu /etc/sudoers.d. Dies ist flexibler, verständlicher, widerstandsfähiger gegenüber Upgrades und funktioniert besser mit Systemen, die von Konfigurationsverwaltungssystemen verwaltet werden.

HINWEIS: Niemals /etc/sudoersdirekt bearbeiten . Verwenden Sie stattdessen, um visudodie Syntaxüberprüfung Ihrer Änderungen durchzuführen und zu verhindern, dass Sie Ihre sudo-Konfiguration mit ungültiger Syntax beschädigen.

EEAA
quelle
Warum nicht die Gruppe hinzufügen /etc/sudoers?
Flak DiNenno
1
@FlakDiNenno - genau das habe ich vorgeschlagen.
EEAA
ahhh ... Ich dachte, Sie beziehen sich auf dieusermod -a -G sudo
Flak DiNenno
+1 für die Warnung über die Verwendung von Visudo anstelle der direkten Bearbeitung
Flak DiNenno
Guter Punkt über visudo. Einige Leute bemerken nicht, dass es einen Grund /etc/sudoersgibt, der als schreibgeschützt markiert ist.
ub3rst4r
9

Ich habe gerade diesen kleinen Leckerbissen gefunden ... anscheinend müssen Sie besonders vorsichtig sein, wenn Sie die -GOption in Ubuntu verwenden, insbesondere in Kombination mit der -gOption. So:

  1. Dient usermod -aGzum Hinzufügen der Benutzer zu einer Gruppe.
  2. Fügen Sie dann, wie von @EEAA vorgeschlagen , die Gruppe mit dem $ sudovisudoBefehl zur Datei / etc / sudoers hinzu (ruft automatisch einen privilegierten Editor mit Syntaxprüfung auf).

Hier ist die Information über die -aGOption auf Ubuntu, entnommen aus http://ubuntuforums.org/showthread.php?t=1240477 :

"Ich lese die Wiley" Linux Command Line and Scripting Bible " - und sie sagten, dass usermod -G eine Gruppe an das Benutzerkonto" anhängt ", das Sie ändern. Ich fand das in Ubuntu falsch, weiß nicht, ob es nur in anderen Distributionen anders ist oder ein Tippfehler im Buch. Sie werden aus JEDER anderen Gruppe entfernt, zu der Sie gehören, mit Ausnahme Ihrer Standardbenutzergruppe (geändert durch die Option -g). Ich konnte mich aus der Admin-Gruppe entfernen und konnte nichts mehr sudo. Gott sei Dank für den Wiederherstellungsmodus ... '

Die richtige Option ist usermod -aG . Lektion gelernt...

Flak DiNenno
quelle
2
Kann der Downvoter die Höflichkeit haben, hier konstruktive Kritik zu üben? tia.
Flak DiNenno
Ich habe dich nicht abgelehnt, aber deine "Antwort" beantwortet die gestellte Frage nicht wirklich. Dies ist eine ziemlich strenge Frage-und-Antwort-Site. Wir erwarten im Allgemeinen, dass Antworten die gestellte Frage direkt beantworten. Übrigens, ja, ich weiß, dass Sie sich ein wenig mit der Frage befassen, aber Ihre "Antwort" scheint am meisten zu sagen, was die EEAA gesagt hat, aber seien Sie gewarnt vor dieser seltsamen Eigenart.
Zoredache
@Zoredache danke, dass du dir die Zeit genommen hast. Gibt Schritt 1 & 2 nicht eindeutig Anweisungen für "eine bevorzugte Methode zum Gewähren von Sudo"? Was hat das OP gefragt?
Flak DiNenno
1

Sie sagen uns nicht, wie groß Ihre Umgebung ist, aber wenn es sich um mehr als einen Computer handelt, können Sie die Konfiguration sudomithilfe von LDAPs auch als Alternative zur lokalen Bearbeitung von Sudoern (entweder visudomithilfe der /etc/sudoers.dFragmentmethode) in Betracht ziehen .

Die LDAP-Konfiguration ist eine bewährte Methode, um sicherzustellen, dass mehrere Computer dieselbe sudoKonfiguration haben, und bietet eine einheitliche Umgebung (mit zentraler Verwaltung eines wichtigen Autorisierungsmechanismus). Als Bonus können Sie, wenn Sie LDAP (oder AD) bereits für die Authentifizierung / Autorisierung in Ihrer Umgebung verwenden, die vorhandene Infrastruktur nutzen (und wenn Sie dies nicht ernsthaft in Betracht ziehen sollten, hat die Zentralisierung viele Vorteile).

Alles, was die Leute in den anderen Antworten zum Erstellen autorisierter Gruppen bereits gesagt haben, bleibt bestehen - es ist einfacher, einer Gruppe Berechtigungen zu erteilen und die Gruppenmitgliedschaft zu verwalten, als sich mit der Verwaltung der Rechte für einzelne Benutzer zu befassen.

voretaq7
quelle