Edição remota do sudo no Vim

5

Como posso editar um arquivo remoto com o sudo?

Eu tenho acesso ssh / scp ao servidor remoto e sudo sem senha nele.

Eu quero editar /etc/some/file como raiz remota, então eu corri:

  $ Vi scp://server/etc/some/file

Não funciona, no entanto, citando que não tenho permissões suficientes. Como posso fazer isso?

    
por datacompboy 26.11.2011 / 08:47

2 respostas

0

De acordo com esta página wiki você deve especificar seu nome de usuário e host assim:

vim scp://user@server//etc/some/file

E obrigado pela dica, eu não sabia que o vim é capaz de editar arquivos via scp.

    
por 26.11.2011 / 09:10
0

Para expandir meu comentário…

O Vim não faz esse tipo de coisa extravagante na máquina remota, não importa a conta que você usa. Limita-se ao download e upload: ler um arquivo remoto significa baixar o arquivo em um local temporário em sua máquina local, escrever um arquivo remoto significa fazer o upload da cópia local para a máquina remota.

Isso significa que você não poderá sudo antes de editar na máquina remota.

Se a conta usada para gravar / enviar o arquivo não for root, você não poderá sobrescrever o arquivo de propriedade da raiz. Essa é a segurança básica do UNIX / servidor.

Em vez disso, use ssh no servidor e use o Vim ou use o snippet do KL-7 com a conta certa.

Veja :help netrw-xfer e :help netrw-quickmap para recursos adicionais, como listagem de diretórios. Nenhum sudo à vista.

    
por 26.11.2011 / 17:56