Bearbeiten Sie die Datei in vim, ohne den Besitzer zu ändern

580
isapir

Ich habe eine Reihe von Dateien in einem Verzeichnis /etc/tomcat/conf, die dem Benutzer tomcatund der Gruppe gehören www.

Wenn ich vim zum Bearbeiten einer Datei in diesem Verzeichnis verwende, ändert sich der Besitz dieser Datei in meinen Benutzer / meine Gruppe.

Wie kann ich die Datei aktualisieren, ohne den Besitzer zu ändern?

Ich verwende CentOS 7.2 mit:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 10 2014 06:55:55) 

Enthaltene Patches: 1-160

0
Anstatt eine Datei zu überschreiben, erstellt Vim eine neue Datei, entfernt die alte und verschiebt die neue an ihren Platz. Dieses Verhalten kann, soweit ich weiß, nicht geändert werden und führt in solchen Situationen immer zu einer Änderung der Eigentumsverhältnisse. Heptite vor 8 Jahren 0
@Heptite Das wusste ich nicht. Ist das auch bei anderen Editoren wie "nano" der Fall? Oder würde "nano" die vorhandene Datei ändern, ohne den Besitzer zu ändern? isapir vor 8 Jahren 0
OK, ich habe gerade "nano" getestet und leidet nicht unter dem gleichen Problem. Das ist sehr enttäuschend, als ich gerade anfing, "vim" zu mögen isapir vor 8 Jahren 0
Ich habe es nicht versucht, aber Sie könnten den Besitzer und die Gruppe mit `` `stat``` bekommen. Könnte funktionieren, wenn Sie ein kleines Skript geschrieben haben, das dies erhält und in einem Register speichert und nach ``: w``` `` chown``` anruft. Nur ein Gedanke. Ilker Mutlu vor 8 Jahren 0

1 Antwort auf die Frage

0
PawkyPenguin

Es ist nicht ganz klar aus Ihrer Frage, aber ich gehe davon aus, dass Sie Schreibberechtigungen für das /etc/tomcat/confVerzeichnis und Schreibberechtigungen für alle Dateien innerhalb des /etc/tomcat/confVerzeichnisses haben. In diesem Fall sollte vim den Dateibesitzer eigentlich nur unverändert lassen, es sei denn, Sie haben in Ihrem .vimrc einige nicht standardmäßige Einstellungen.

Versuchen Sie es auszuführen :set backupcopy, um den Wert der backupcopyVariablen zu sehen. Wenn es auf no"schlecht" eingestellt ist, wird die Datei von vim umbenannt und eine neue geschrieben (siehe :help backupcopy).

Wenn Sie keine Schreibberechtigung im /etc/tomcat/confVerzeichnis haben, sollte vim Sie ziemlich deutlich warnen, dass die Datei nicht geschrieben werden kann und Sie dies nur mit tun können :w!. Ich wäre auch überrascht, wenn Nano noch funktionieren würde, wenn dies der Fall wäre, da Nano meines Wissens in diesem Fall nicht vollständig schreiben kann.

Ich habe Schreibrechte, da mein Benutzer Mitglied der Gruppe `www` ist. isapir vor 7 Jahren 0