(gelöst, nehm' ich an) /etc/sudoers, Syntaxfragen

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
fischig
Beiträge: 2659
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

(gelöst, nehm' ich an) /etc/sudoers, Syntaxfragen

Beitrag von fischig » 30.10.2022 09:33:27

Code: Alles auswählen

[Benutzername] ALL=(root) NOPASSWD:[/Pfad/zum/script]
Was bedeutet „ALL=(root)“ in diesem sudoers-Eintrag, insbesondere über das „ALL“ grüble ich. Ich habe mir mal einen Abschnitt zu ALL in der endlos langen englischsprachigen manpage zu sudoers von deepl übersetzen lassen:
The reserved word ALL is a built-in alias that always causes a match to succeed. It can be
used wherever one might otherwise use a Cmnd_Alias, User_Alias, Runas_Alias, or Host_Alias.
Attempting to define an alias named ALL will result in a syntax error. Please note that using
ALL can be dangerous since in a command context, it allows the user to run any command on the
system.
Das reservierte Wort ALL ist ein eingebauter Alias, der eine Übereinstimmung immer erfolgreich macht. Es kann
verwendet werden, wo sonst ein Cmnd_Alias, User_Alias, Runas_Alias oder Host_Alias verwendet werden könnte.
Der Versuch, einen Alias namens ALL zu definieren, führt zu einem Syntaxfehler. Bitte beachten Sie, dass die Verwendung von
ALL gefährlich sein kann, da es dem Benutzer in einem Befehlskontext erlaubt, jeden Befehl auf dem
System auszuführen.
Aber ich verstehe den Abschnitt trotzdem nicht. Unter Alias verstehe ich in natürlicher Sprache sowas wie „Zweitname, Deckname, Pseudonym“
Den Rest des sudoers-Eintrags glaube ich zu verstehen: Dem [Benutzer] wird erlaubt, ein root vorbehaltenes [script] ohne Rootpasswort (NOPASSWD) auszuführen.
Zuletzt geändert von fischig am 30.10.2022 12:21:41, insgesamt 1-mal geändert.

niemand
Beiträge: 16487
Registriert: 18.07.2004 16:43:29

Re: /etc/sudoers, Syntaxfragen

Beitrag von niemand » 30.10.2022 09:51:38

fischig hat geschrieben: ↑ zum Beitrag ↑
30.10.2022 09:33:27
Unter Alias verstehe ich in natürlicher Sprache sowas wie „Zweitname, Deckname, Pseudonym“
Die Erläuterung zu den Aliases steht ebenfalls in der Manpage:
Manpageschreiberling hat geschrieben:

Code: Alles auswählen

  Aliases
    There are four kinds of aliases: User_Alias, Runas_Alias, Host_Alias
    and Cmnd_Alias.  Beginning with sudo 1.9.0, Cmd_Alias may be used in
    place of Cmnd_Alias if desired.
    [… nähere Erläuterungen der einzelnen Arten folgen …]
Tipp des Tages: stundenlanges Warten auf Antwort in einem Forum kann dir fünf Minuten Ausprobieren ersparen!

Benutzeravatar
bluestar
Beiträge: 2102
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: /etc/sudoers, Syntaxfragen

Beitrag von bluestar » 30.10.2022 10:12:58

fischig hat geschrieben: ↑ zum Beitrag ↑
30.10.2022 09:33:27

Code: Alles auswählen

[Benutzername] ALL=(root) NOPASSWD:[/Pfad/zum/script]
Was bedeutet „ALL=(root)“ in diesem sudoers-Eintrag, insbesondere über das „ALL“ grüble ich.
ALL steht in diesem Falle, dass dieser Befehl auf allen Rechnern ausgeführt werden darf, die Macher von sudo gehen davon aus, dass du über mehrere Hosts eine sudoers Datei verteilst und eine Konfiguration je Host möglich ist.

(root) steht für den User mit dessen Rechten du den nachfolgenden Befehl ausführst, in dem Falle root. (www-data) würde den Befehl hingegen als Benutzer www-data ausführen.

Nähere Details findest du hier: https://www.oreilly.com/library/view/li ... 05s06.html

fischig
Beiträge: 2659
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/sudoers, Syntaxfragen

Beitrag von fischig » 30.10.2022 10:21:22

Die maschine ist nicht netzwerklos, aber ich habe nicht vor diese sudoers auf weiteren Maschinen zu verteilen.

Kann ich das Konstrukt "„ALL=(root)“" einfach weglassen?
Zuletzt geändert von fischig am 30.10.2022 10:30:42, insgesamt 1-mal geändert.

tobo
Beiträge: 1397
Registriert: 10.12.2008 10:51:41

Re: /etc/sudoers, Syntaxfragen

Beitrag von tobo » 30.10.2022 10:22:17

fischig hat geschrieben: ↑ zum Beitrag ↑
30.10.2022 09:33:27

Code: Alles auswählen

[Benutzername] ALL=(root) NOPASSWD:[/Pfad/zum/script]
Was bedeutet „ALL=(root)“ in diesem sudoers-Eintrag, insbesondere über das „ALL“ grüble ich.
Das ALL steht stellvetretend für jeden Rechner, der durch diese Datei beeinflusst werden soll. Zulässig ist eine kommaseparierte Liste aller erreichbaren Hostnames - auf netzwerklosen Systemen ist dieses ALL also gleichzusetzen mit der Ausgabe von `hostname` auf demselben System.

fischig
Beiträge: 2659
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/sudoers, Syntaxfragen

Beitrag von fischig » 30.10.2022 10:32:56

Die Maschine ist nicht „netzwerklos“, aber ich habe nicht vor, diese sudoers auf weiteren Maschinen zu verteilen.

Kann ich das Konstrukt "ALL=(root)" einfach weglassen?

tobo
Beiträge: 1397
Registriert: 10.12.2008 10:51:41

Re: /etc/sudoers, Syntaxfragen

Beitrag von tobo » 30.10.2022 10:41:19

Das ist die substanzielle Information, auf welchem Rechner du in wessen Namen agieren willst. Was denkst du?

Benutzeravatar
bluestar
Beiträge: 2102
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: /etc/sudoers, Syntaxfragen

Beitrag von bluestar » 30.10.2022 10:53:09

fischig hat geschrieben: ↑ zum Beitrag ↑
30.10.2022 10:32:56
Kann ich das Konstrukt "ALL=(root)" einfach weglassen?
Nein, anderenfalls kann sudo deine Konfigurationsdatei nicht mehr verarbeiten(parsen).

Das Programm sudo gibt nunmal die Syntax vor, an die wir uns alle beim erstellen von SUDO Konfigurationsdateien halten müssen.

fischig
Beiträge: 2659
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/sudoers, Syntaxfragen

Beitrag von fischig » 30.10.2022 12:07:57

Vermutlich(!) handelt es sich bei „meinem“ ALL also um so einen „Host_Alias“ (gelesen hatte ich auch diesen Abschnitt in man sudoers, vor Threaderöffnung, erhellend fand ich ihn in meinem Zusammenhang nicht). Den habe ich jetzt ersetzt durch den Hostnamen. Die Zeile sieht jetzt so aus:

Code: Alles auswählen

[benutzername] [hostname]=(root) NOPASSWD:/pfad/zum/script
Scheint zu tun, was ich getan haben will. Meine Absicht war nie gegen die Syntax von sudo zu verstoßen, aber in meiner Aufgabenstellung angepasst nutzen will ich sie schon gerne.
Seltsam „pädagogischer“ Threadverlauf. :roll: Nichtsdestotrotz: Dankeschön für die Denkanstöße!

tijuca
Beiträge: 261
Registriert: 22.06.2017 22:12:20

Re: (gelöst, nehm' ich an) /etc/sudoers, Syntaxfragen

Beitrag von tijuca » 30.10.2022 13:04:16

sudo ist nun keine allerneueste Rocket Science ...

Das Netz ist voll von Infos und (auch guten) Anleitungen, eine Suchmaschine sollte man heutzutage schon bedienen können. :roll:

Antworten