Edytuj plik w vimie bez modyfikacji właściciela

1

Mam zestaw plików w katalogu, /etc/tomcat/confktóre są własnością użytkownika tomcati grupy www.

Kiedy korzystam z vima do edycji pliku w tym katalogu, własność tego pliku zmienia się na mojego użytkownika / grupę.

Jak mogę zaktualizować plik bez modyfikowania właściciela?

Używam CentOS 7.2 z:

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

Zawarte łaty: 1-160

isapir
źródło
Zamiast nadpisywać plik, Vim tworzy nowy plik, usuwa stary i przenosi nowy na swoje miejsce. O ile mi wiadomo, tego zachowania nie można zmienić i zawsze spowoduje zmianę właściciela w takich sytuacjach.
Heptyt
@Heptite Nie wiedziałem o tym. Czy tak jest również w przypadku innych edytorów nano? Czy nanozmodyfikowałby istniejący plik bez zmiany właściciela?
isapir
OK, właśnie przetestowałem nanoi nie ma tego samego problemu. Jest to bardzo rozczarowujące, ponieważ zaczynałem lubićvim
isapir
Nie próbowałem tego, ale możesz dostać właściciela i grupę stat. Może zadziałać, jeśli napisałeś mały skrypt, który dostanie to i zapisze w rejestrze i zadzwoni chownpóźniej :w. Tylko myśl.
Ilker Mutlu,

Odpowiedzi:

0

To nie jest całkiem jasne z twojego pytania, ale zakładam, że masz uprawnienia do zapisu w /etc/tomcat/confkatalogu, a także uprawnienia do zapisu na wszystkich plikach w /etc/tomcat/confkatalogu. W takim przypadku vim powinien po prostu zostawić właściciela pliku bez zmian, chyba że masz jakieś niestandardowe ustawienia w .vimrc.

Spróbuj wykonać, :set backupcopyaby zobaczyć wartość backupcopyzmiennej. Jeśli jest ustawiony na noto źle, bo vim zmieni nazwę pliku i napisze nowy (patrz :help backupcopy).

Jeśli nie masz uprawnień do zapisu w /etc/tomcat/confkatalogu, vim powinien dość wyraźnie ostrzec cię, że nie jest w stanie zapisać pliku i będziesz mógł to zrobić tylko za pomocą :w!. Byłbym również zaskoczony, gdyby nano nadal działało, gdyby tak było, ponieważ o ile wiem, nano nie będzie w stanie pisać w tym przypadku.

PawkyPenguin
źródło
Mam uprawnienia do zapisu, ponieważ mój użytkownik jest członkiem wwwgrupy.
isapir