Süper kullanıcı haklarına sahip dosyayı düzenleyin


54

Sistem dosyalarını düzenlemeniz gerektiğinde, daha önce normal bir kullanıcıyla Emacs'ı başlattığınız normal bir durumdur, bu nedenle dosya yazmaya karşı korunacaktır. Kök ayrıcalıkları kazanmak için ne yapabilirim? M-x sudoDired den bir şey demek istiyorum .

Emacs'ı süper kullanıcı olarak başlatmak istemiyorum ve bırakmak istemiyorum.

Yanıtlar:


59

Kullanın C-x C-fve yazın /su::/etc/hostnameveya /sudo::/etc/hostnameuygun şekilde yazın.

Bu Emacs ile dağıtılan TRAMP paketini kullanır . Bu paket uzak dosyalara ve daha genel olarak Emacs'in doğrudan açamayacağı dosyalara erişim sağlar.


1
Teşekkürler. Bunun anlamı nedir ::?
smonff

7
: Bir ayırıcıdır; daha fazla argüman olmadığını belirtmek için ikinci kez sağlıyoruz. /su:otheruser@localhost:Mesela yapabilirsin .
artagnon

5
/sudo::serseri kısaltması içinsudo:root@<hostname>:
phils 6:17 '

9

find-fileSürtük ile kullanın . Komut isteminde /sudo::/etc/ssh/ssh_configsudo ve bir alt kabuk kullanarak bu dosyayı root yetkileriyle açın. Sudo ilk kullanıldığında bir parola soracaktır, ancak o oturum kapanana kadar mevcut /sudo::komutla önek ekleyerek bu izinlere sahip herhangi bir dosyayı düzenleyebilirsiniz .

Daha fazla ayrıntı için http://www.gnu.org/software/tramp/ adresini ziyaret edin.


3

ivyPaketi kullanıyorsanız ve counsel-find-filedeğiştirmek find-fileüzere yapılandırdıysanız, sizin için önceden yapılandırılmış olan "sarmaşık eylemler" den biri dosyayı kök olarak düzenlemektir. Bu hydraeylem için varsayılan tuş vuruşu r.


2

Bugün bu sorunu çözen birçok paket var (2018'den itibaren). Onlardan bazıları:

  • sudo-edit, önceden açılmış bir salt okunur dosyada düzenleme haklarının değiştirilmesine izin verir. Sadece M-x sudobir şifre yazın ve bitirdiniz. Bunu yıllarca kullandıktan sonra, bu ihtiyaç için daha uygun olduğunu düşünüyorum. sudo-editbir dosyayı herhangi bir kullanıcı olarak açmanıza izin verir, ancak hiçbiri sağlanmadıysa sudo'da varsayılandır.
  • dired-toggle-sudo. Öyleydi ilk ambalajlı çözüm Bu soruyu soran sonra bulundu. Dired yönlendirmeli, eğer dosya yönelimli sürümü tercih ederseniz , bu listenin ilk mermisine bakın.
  • Melpa'da başka çözümler de var

2

Helm kullanıyorsanız. Herhangi bir harici pakete / ek yapılandırmaya ihtiyacınız yok. kutunun dışında çalışır.

İçinde helm-find-files, find file as roothangisine bağlı olduğunu çağırabilirsiniz C-c r. Bu helm-find-filesoturumda dosya veya dizin için çalışır .

Kök dosyaları / dirs her açışınızda parola yazmak istemiyorsanız. Aşağıdaki çizgiyi~/.authinfo.gpg

machine localhost port sudo login root password xxxxxx
machine your_machine_name port sudo login root password xxxxx

kaynak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.