Emacs ile SSH ve Sudo ile Dosya Aç
Sunucuda sudo yetkileri ile uzak bir sunucu üzerinde yer alan Emacs içinde bir dosya açmak istiyorum. Böyle Serseri üzerinden sudo ile yerel dosyaları açabilirsiniz:
C-x C-f /sudo::/home/user/file
Ama sunucuda sudo kullanmak istiyorum:
C-x C-f /sudo::user@server/home/user/file
Ama bu benim yerel makinede sudo güçler verir, yerel makinede sudo Şifremi sorar. Bir şekilde sunucuda sudo var mı acaba?
BTW: Emacs sunucuda yüklü değil
CEVAP
Olarak Emacs 24.3, bir analog eski multi:
sözdizimi oldu katmanlı üstüne modern tramp-default-proxies-alist
yaklaşım, anlamı o olabilir bir kez daha gerçekleştirmek çoklu atlama olmadan önce herhangi bir yapılandırma. Ayrıntılı bilgi için:
C-hbeng(tramp) Ad-hoc multi-hops
RET
Yeni bir sözdizimi ile, her 'hop' |
ile ayrılır. El kitabındaki örnek:
C-xC-f/ssh:bird@bastion|ssh:you@remotehost:/path
RET
* *9, you@remotehost:/path
oradan birincisi bağlayan
/su: /sudo: uzak bilgisayarlar üzerinde
Ayrıca, bu sözdizimi uzaktaki bir ana kök (veya başka bir kullanıcı)/su sudo için kullanabilirsiniz:
C-xC-f/ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Önemli: konak adını açıkça belirtmek için emin olun: sudo::
(aşağıya bakınız) yerine. sudo:remotehost:
Bu hala proxy mekanizması olarak kullanır altında, tramp-default-proxies-alist
15 ** değer içermelidir
Proxy /ssh:you@remotehost:
anlam root@remotehost
gibi bir dosya talep ettiğinizde kullanılan olacak.
root
bu yöntemler için varsayılan kullanıcı, ancak root olmayan bir kullanıcı için tabii ki de ile değiştirebilirsiniz:
C-xC-f/ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Her zaman uzak ana bilgisayar adı açıkça belirtin
Muhtemelen sudo::
su::
kullanma ve hostname atlama için kullanılır. Eğer varsakalıyorumo zaman bu hala iyi, ama eğer daha sonra bir uzak sunucuya atlamalı eğer localhost üzerindegerekireğer önceki hop için aynı bile olsa her hop için ana bilgisayar adı belirtin. Her zaman, uzak bilgisayarlar ile sudo:hostname:
su:hostname:
kullanın.
Buradaki tuzak sudo::
yokaslında iş gibi görünüyorancakdinamik proxy girişi için ANA makine adını sen olacaksın o zamankökenliyerine ana bağlı. Bu sadece bakmak kafa karıştırıcı gibi yanlış ana bilgisayar içinde görüntülenir dosya yolları), ama aynı zamanda yani bir sonraki girişimi için kullanın sudo::
üzerinde localhost yerine vekalet olmak için uzak sunucu! (ve vekil de muhtemelen ikinci bir sunucuda aynı şey, daha fazla sorunlara neden yaptıysan sorun olurdu).
Kısacası, hop seni çok ::
kullanmayın!
Emacs ile SSH ve Sudo ile Dosya Aç...
dyld: DYLD_ ortam değişkenleri ana yür...
Nerede bulabilirim .emacs Emacs, Windo...
Nasıl bir dosya Emacs kullanarak geçer...
Nasıl değiştir oku/Emacs kullanarak bi...