SORU
1 ŞUBAT 2010, PAZARTESİ


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
6 Mayıs 2013, PAZARTESİ


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-hopsRET

Yeni bir sözdizimi ile, her 'hop' | ile ayrılır. El kitabındaki örnek:

C-xC-f/ssh:bird@bastion|ssh:you@remotehost:/pathRET

* *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/fileRET

Ö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/fileRET

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!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006
  • SamsTech

    SamsTech

    4 NİSAN 2014