Good to Know Database

Ausgabe in eine Textdatei umleiten welche dem Benutzer root gehört


Mit Hilfe der Ausgabeumlenkung können Sie die Ausgaben eines Befehls in eine Datei umleiten. Voraussetzung dazu ist, dass Sie die benötigen Rechte besitzen in die Zieldatei zu schreiben. Wenn Sie in eine Datei schreiben wollen, welche dem Benutzer root gehört, müssen Sie mit sudo arbeiten.

Für dieses Beispiel wurde die Datei /tmp/textfile erstellt und die Zugriffsrechte wie folgt angepasst.

pi@raspberrypi ~ $ ls -la /tmp/textfile
-rw------- 1 root root 0 Feb  9 15:41 /tmp/textfile

Wenn Sie als normaler Benutzer versuchen in diese Datei zu schreiben, wird der Vorgang mit einer Fehlermeldung abgebrochen.

pi@raspberrypi ~ $ echo test >/tmp/textfile
-bash: /tmp/textfile: Keine Berechtigung

Ruft man jetzt den Befehl wie folgt mit den Rechten des Benutzers root auf, wird ebenfalls die bereits bekannte Fehlermeldung angezeigt.

pi@raspberrypi ~ $ sudo echo test >/tmp/textfile
-bash: /tmp/textfile: Keine Berechtigung

Das Problem dabei ist, dass bei diesem Befehl zwar echo mit den Rechten des Benutzers root ausgeführt wird, aber nicht die Shell in welcher die Ausgabeumlenkung erfolgen soll. Damit ein normaler Benutzer mittels sudo in eine Datei schreiben kann, welche dem Benutzer root gehört, muss dieser den folgenden Befehl verwenden.

pi@raspberrypi ~ $ sudo su -c 'echo test >/tmp/textfile'

Zum Ausgeben der Datei ist es ausreichend den Befehl cat mit sudo als Root-Benutzer auszuführen.

pi@raspberrypi ~ $ sudo cat /tmp/textfile
test


Dieser Eintrag wurde am 09.02.2013 erstellt.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_2095.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer