====== sudo und NOEXEC ======
* Urspruenglicher Autor: Ramon Kukla
* Urspruengliches Datum: 19.08.2011
{{:sandwich.png?direct|https://www.xkcd.com/149/}}
(Bild von [[https://www.xkcd.com/149/|XKCD]])
Beim Vergeben von Regeln fuer sudo muss man neben anderen Dingen eine Kleinigkeit beachten.
Nehmen wir an, wir wollten einem User erlauben die Datei ''/var/log/messages'' unter Linux zu betrachten. Dazu machen wir folgende zwei Eintraege mittels
''visudo'' (bitte immer dieses Kommando verwenden, da es eine Syntax-Pruefung der ''/etc/sudoers'' durchfuehrt):
%messages ALL = /usr/bin/less /var/log/messages
Damit duerfen alle Mitglieder der Gruppe ''messages'' das angegebene Kommando ausfuehren. Dann legen wir noch die Gruppe ''messages'' an und fuegen den Nutzer hinzu.
addgroup messagesadduser user messages
Alles ist gut, der Nutzer kann ''less'' ausfuehren und sich die Datei ''/var/log/messages'' anschauen.
Leider kann er aber auch eine "Schweinerei" machen, die wir ihm nicht verboten haben. Wenn er in ''less'' die Taste ''v'' drueckt wird der Editor (in der Regel ''vim'') gestartet. In ''vim'' kann er durch Eingabe von '':!bash'' die Bash starten und hat eine Shell als ''root'' zur Verfuegung, mit der er alles machen kann.
Das kann und muss man als verantwortungsvoller Administrator verhindern, in dem man das Woertchen ''NOEXEC'' vor dem Kommando verwendet, fuer das die Rechte vergeben werden. In unserem Fall:
%messages ALL = NOEXEC: /usr/bin/less /var/log/messages
[[adminstoriesartikel|Zurück zur Uebersicht]]