Kiedyś sudoedit
tworzyłem plik:
$ sudoedit /etc/systemd/system/apache2.service
ale kiedy poszedłem zapisać plik, zapisał go w katalogu tymczasowym (/ var / temp / blahblah). Co się dzieje? Dlaczego nie zapisuje go w katalogu systemowym?
Chodzi o sudoedit
to, aby umożliwić użytkownikom edycję plików, do których w innym przypadku nie mieliby pozwolenia, podczas uruchamiania nieuprzywilejowanego edytora. Aby tak się stało, sudoedit
skopiuj plik, który ma być edytowany, do tymczasowej lokalizacji, umożliwi zapisywanie go użytkownikowi żądającemu i otworzy go w skonfigurowanym edytorze. Dlatego edytor pokazuje niepowiązaną nazwę pliku w katalogu tymczasowym. Kiedy edytor kończy działanie, sudoedit
sprawdza, czy rzeczywiście dokonano zmian, i jeśli to konieczne, kopiuje zmieniony plik tymczasowy z powrotem do pierwotnej lokalizacji.
visudo
Z./etc/sudoers
visudo
zasudoedit
. Wiedziałem,visudo
że to zrobiłem. Dzięki za wyjaśnienie!Jest to dobrze wyjaśnione na stronie
sudo
podręcznika . Opis-e
(którysudoedit
jest równoważny) mówi:W szczególności zwróć uwagę na trzeci krok: tylko jeśli plik został zmodyfikowany pod koniec edycji, oryginał zostanie zmieniony. Tak więc, jeśli masz program, który ogląda plik, może to pomóc uniknąć (a) przechwytywania zapisów pośrednich i (b) niepotrzebnych działań, jeśli zdecydujesz się nie wprowadzać żadnych zmian w końcu.
źródło