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

Speichern Sie die Datei als Root, nachdem Sie sie als Nicht-Root bearbeitet haben

Je nach Umfang Ihrer Änderungen kann das Speichern schneller sein (:w ) Ihre Datei mit einem anderen Namen und verwenden Sie dann sudo und cat um den Inhalt zu überschreiben der Originaldatei:

sudo sh -c 'cat changed > file'

Beachten Sie, dass beide cp und mv ersetzt die Originaldatei und ihre Attribute (Eigentum, Berechtigungen, ACLs) gehen verloren. Verwenden Sie sie nicht es sei denn, Sie wissen, wie Sie die Berechtigungen nachträglich reparieren können.


Versuchen Sie es

:w !sudo tee "%"

Die w ! nimmt die gesamte Datei und leitet sie in einen Shell-Befehl. Der Shell-Befehl ist sudo tee welches tee ausführt als Superuser. % wird durch den aktuellen Dateinamen ersetzt. Anführungszeichen, die für Dateien benötigt werden, deren Namen entweder Leerzeichen oder andere Sonderzeichen enthalten.


Speichern Sie die Datei woanders (z. B. in Ihrem Home-Ordner) und dann sudo mv das Original überschreiben?


Linux
  1. So speichern Sie die Befehlsausgabe in einer Datei unter Linux

  2. [Behoben] Benutzername ist nicht in Sudoers-Datei

  3. Erste Schritte mit ls

  4. Wie funktionieren die Interna von Sudo?

  5. Von Vim aus Root werden?

Kein Netzwerk nach Upgrade auf 16.04?

Überprüfen Sie die Linux-Dateiberechtigungen mit ls

Unix LS-Befehl:15 praktische Beispiele

Standardmäßiger Nicht-Root-Benutzer von Kali

Sudo vs. root; irgendwelche tatsächlichen unterschiede?

Ist das Mounten und Ändern einer Loopback-Datei ohne sudo/root möglich?