sudoedit
Der Befehl sudoedit erlaubt ein sicheres Editieren von Dateien unter Rootrechten.
Installation
Sudoedit ist als Bestandteil von sudo auch Teil jeder Standartinstallation.
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 kdesu kate
noch an, da hier zusätzlich zum Code des Editors auch noch das kompletten GUI mit administrativen Rechten ausgeführt wird. Angesichts der Vielzahl staatlicher Hacker, kann man vermuten, dass dieses eher akademisch anmutende Risiko durchaus auch einmal real werden kann.
Verwendung
sudoedit <Editor> <Datei>
oder auch
sudo -e <Editor> <Datei>
Durch die Verwendung von sudeoedit wird der gewünschte Editor mit einfachen Benutzer Rechten geöffnet. Von der zu öffnenden 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 stark beeinträchtigt, ist die Schaffung von Alternativen in der Diskussion.
Weblinks
Linux und ich Dateien mit Rootrechten bearbeiten
Martin's Blog Editing files as root