Kiedy trzeba edytować pliki systemowe, zwykle jest to sytuacja, w której Emacs był uruchamiany z normalnym użytkownikiem, więc plik będzie chroniony przed zapisem. Co mogę zrobić, aby uzyskać uprawnienia roota? Mam na myśli coś M-x sudo
z dired.
Nie chcę uruchamiać Emacsa jako superużytkownika i nie chcę z niego rezygnować.
::
?/su:otheruser@localhost:
na przykład./sudo::
jest skrótem dlasudo:root@<hostname>:
Użyj
find-file
z włóczęgą. W odpowiedzi na monit/sudo::/etc/ssh/ssh_config
użyje sudo i podpowłoki, aby otworzyć ten plik z uprawnieniami administratora. Kiedy sudo jest używane po raz pierwszy, wyświetli monit o podanie hasła, ale dopóki sesja się nie zamknie, możesz edytować dowolny plik z tymi uprawnieniami, poprzedzając istniejące/sudo::
polecenie.Więcej informacji można znaleźć na stronie http://www.gnu.org/software/tramp/
źródło
Jeśli korzystasz z
ivy
pakietu i skonfigurowałeścounsel-find-file
zamianęfind-file
, to jedną z wstępnie skonfigurowanych „akcji bluszcza” jest edycja pliku jako root. Domyślnymhydra
naciśnięciem klawisza dla tej akcji jestr
.źródło
Obecnie istnieje wiele pakietów, które rozwiązują ten problem (od 2018 r.). Niektórzy z nich są:
sudo-edit
, pozwala przełączać prawa do edycji już otwartego pliku tylko do odczytu. WystarczyM-x sudo
wpisać hasło i gotowe. Myślę, że po wielu latach użytkowania jest to wygodniejsze.sudo-edit
pozwala ci otworzyć plik jak każdy użytkownik, ale domyślnie w sudo, jeśli nie został podany.dired-toggle-sudo
. To było pierwsze zapakowane rozwiązanie , które znalazłem po zadaniu tego pytania. Jest zorientowany na Dired, więc jeśli wolisz wersję zorientowaną na pliki , przeczytaj pierwszy punkt tej listy.źródło
Jeśli używasz steru. Nie potrzebujesz żadnego zewnętrznego pakietu / dodatkowej konfiguracji. działa po wyjęciu z pudełka.
Wewnątrz
helm-find-files
możesz przywołać,find file as root
który jest związany C-c r. Działa to dla plików lub katalogów whelm-find-files
sesji.Jeśli nie chcesz wpisywać hasła przy każdym otwarciu plików / katalogów głównych. Umieść następujący wiersz w swoim
~/.authinfo.gpg
źródło
źródło