Как использовать /sudo:username@remotehost: в режиме dired для emacs?

Когда я использую emacs, я ввожу

M-x dired

затем я ввожу

/sudo:ukari@ubuntu-hadoop-0:

emacs возвращается

Host `ubuntu-hadoop-0' looks like a remote host, `sudo' can only use the local host

Как заставить правило dired работать так, как я хотел?


person chendianbuji    schedule 22.04.2015    source источник


Ответы (2)


TRAMP поддерживает множественные переходы через переменную tramp-default-proxies-alist:

Если вы, например, хотите работать как 'root' на хостах в домене 'your.domain', но вход в систему как 'root' отключен для нелокального доступа, вы можете добавить следующее правило:

(add-to-list 'tramp-default-proxies-alist
         '("\\.your\\.domain\\'" "\\`root\\'" "/ssh:%h:"))

Открытие /sudo:randomhost.your.domain: приведет к подключению сначала 'randomhost.your.domain' через ssh под именем вашей учетной записи, а затем выполнить sudo -u root на этом хосте.

Иногда бывает сложно вручную настроить эту переменную, поэтому существует также функция ad-hoc multi-hop, которая позволяет вам переключаться на лету. (Эта функция фактически изменяет tramp-default-proxies-alist для вас в текущем сеансе.)

Чтобы использовать функцию ad-hoc, попробуйте следующую строку:

/ssh:ukari@ubuntu-hadoop-0|sudo:root@ubuntu-hadoop-0:
person Chris    schedule 22.04.2015

попробуй мой toggle-read-only-file-with-sudo

(when (member system-type '(gnu/linux darwin))
  (global-set-key (kbd "C-c o") 'toggle-read-only-file-with-sudo))

https://github.com/jixiuf/emacs_conf/blob/master/site-lisp/joseph/joseph-sudo.el

после того, как вы введете :/sudo:ukari@ubuntu-hadoop-0:, вам просто нужно нажать "C-c o", он будет использовать sudo на удаленном хосте

использование:

1.когда вы редактируете локальный файл и нажимаете C-c o, он попытается отредактировать его с помощью sudo

2.когда вы редактируете локальный файл с помощью sudo(edit as root) и нажимаете C-c o, он будет редактировать этот файл как текущий пользователь входа

3. когда вы редактируете удаленный файл как обычный пользователь (предположим, что это ukari) и вы нажимаете C-c o, он будет редактировать его как root на удаленном хосте, снова нажмите C-c o, он снова вернется к ukari

person joseph    schedule 21.05.2015