GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erhalten Sie „Erlaubnis verweigert“, wenn Sie die Ausgabe von Sudo Echo „xyz“ in eine Datei umleiten?

Für diese Frage gibt es hier bereits Antworten :Umleitung von stdout zu einer Datei, für die Sie keine Schreibberechtigung haben

(7 Antworten)
Vor 6 Jahren geschlossen.

Warum bekomme ich

-bash: test: Permission denied

wenn ich laufe

sudo echo "xyz" > test

Die Verzeichnisberechtigungen sind:

drwxr-xr-x 3 root root 4096 2014-08-05 16:26 

Ich habe kein Problem damit, mit sudo eine Datei im Verzeichnis zu erstellen . Aber warum kann ich nicht sudo echo hinein?

Akzeptierte Antwort:

Dies geschieht, weil Sie nur echo ausführen Befehl als root. Die Ausgabeumleitung wird von Ihrer (Nicht-Root-)Shell gehandhabt. Um dies zu vermeiden, verwenden Sie nicht die Umleitung der Shell und verwenden Sie einen tatsächlichen Befehl, um das Schreiben zu handhaben:tee . Was Sie tun möchten, kann folgendermaßen ausgeführt werden:

echo "xyz" | sudo tee test > /dev/null

(wenn Sie die Ausgabe nicht umleiten, tee gibt xyz aus auch auf stdout)


Linux
  1. Den Inhalt einer Datei auf den Befehl „echo“ umleiten?

  2. Echo To File Descriptor überschreibt die Datei?

  3. Wie bekomme ich die Eingabe und Ausgabe in einem Terminal in eine Textdatei?

  4. 3 Tricks, um mehrere Befehle in derselben Zeile auszugeben

  5. Wie hängt man die Ausgabe an eine Datei an?

So verwenden Sie Sudo und die Sudoers-Datei

Wie leitet man die Ausgabe von system() in eine Datei um?

Umleitung der Ausgabe von einem Funktionsblock in eine Datei unter Linux

Wie kann ich beim Lesen einer Datei mit „weniger“ oder „mehr“ den Inhalt in Farbe erhalten?

Wie kann die Ausgabe eines Befehls in eine Datei umgeleitet werden, wenn der Befehl Benutzereingaben auffordert?

Wie erhalte ich die physische Größe einer Datei unter Linux?