sudoedit

Aus wiki.archlinux.de

Der Befehl sudoedit erlaubt ein sicheres Editieren von Dateien unter Rootrechten.

Sudoedit ist ein Bestandteil von sudo und muss in aller Regel nicht mehr mit einem

pacman -S sudo

installiert werden.


Hintergrund

Niemand würde mit einen Browser unter Rootrechten ins Internet gehen wollen, schließlich könnte so ein Angreifer gleich mit Administratoren das System manipulieren. Ist ein System aber bereits kompromittiert, könnte unter Umständen auch schon das Starten eines Editors mit root Rechten z.B.: sudo nano von einem Angreifer dazu genutzt werden, das System unter seine Regie zu bekommen. Diese Gefahr steigt bei einem gksu gedit oder einem kdesu kate noch an, da hier zusätzlich zum Code des Editors auch noch die kompletten Toolkits (also GTK oder Qt) mit administrativen Rechten ausgeführt werden. Angesichts der Vielzahl staatlicher Hacker, kann man vermuten, dass dieses eher akademisch anmutende Risiko durchaus auch einmal real werden kann.


Verwendung

sudoedit <Editor> <Datei>

Durch die Verwendung von sudeoedit wird der gewünschte Editor mit einfachen Benutzer Rechten geöffnet. Von der zu öffnende Datei wir eine Kopie unter /var/tmp angelegt. Die beim Aufruf von sudoedit vergebenen Rootrechte werden lediglich dazu genutzt, die bearbeitete Dateikopie wieder an seinen Ursprungsort zu speichern.


Konfiguration

In der Datei ~/.bashrc kann der gewünschte Editor in der Zeile export EDITOR=/usr/bin/editor vorbelegt werden. Danach genügt der folgende Befehlsaufruf.

 sudoedit <Datei>


Nachteile

Es lässt sich mit sudoedit immer nur eine Datei bearbeiten. Auch muss der betreffende Editor, falls schon unter Benutzung, zuerst geschlossen werden, bevor man mit sudoedit zur Tat schreiten kann. Da dies den Workflow beeinträcht, ist die Schaffung von Alternativen in der Diskussion.


Weblinks

Linux und ich Dateien mit Rootrechten bearbeiten

Martin's Blog Editing files as root