Como uso meu próprio editor de texto local para modificar arquivos do sistema (requer raiz para salvar) em um sistema remoto?

1

Recentemente, me apaixonei pelo editor de texto Atom do github, e gosto de usá-lo para toda a codificação e configuração locais.

Comecei a manter uma instalação do Nagios para várias dezenas de servidores e estou percebendo que estou cansado de usar o ssh e o vim remoto para realizar minha edição. Eu gostaria de usar o Atom para fazer isso.

Eu procurei maneiras de fazer isso. Um dos meus maiores problemas é que os arquivos de configuração do Nagios e NRPE requerem su permissões para sobrescrever. Estou editando arquivos em / etc / e / usr /. Eu posso abrir o arquivo no Atom localmente de várias maneiras, mas nunca consigo salvá-lo.

Aqui estão algumas maneiras que eu posso pensar para lidar com isso (diga-me qual você acha que é a melhor maneira ou se você tem outra idéia, eu adoraria ouvir isso!).

  1. Eu poderia usar o sftp e tentar editar os arquivos aqui (mas imagino que eu teria problemas de permissões de root quando tento salvar?)
  2. Eu poderia usar o sshfs para montar o servidor em minha máquina local e editar dessa maneira (ainda não tenho certeza sobre problemas de permissões?)
  3. Eu poderia adicionar o usuário na máquina remota ao arquivo sudoers para obter permissão total sem a solicitação da senha (mas não acho que essa é uma idéia segura e, novamente, imagino que ainda precisaria de alguma forma de sudo para realmente salvar?)
  4. Copie o arquivo e use manualmente um comando rsync para sincronizar o arquivo quando eu terminar de editar (o que seria um tanto entediante, mas parece ser o mais promissor).

Existe algum plugin Atom que você saiba que pode me ajudar?

Eu sei que não posso ser a primeira pessoa a querer fazer isso. Eu fiz algumas pesquisas e encontrei algumas pessoas sugerem SSHFS, mas eu gostaria de saber qual é o pensamento atual.

Obrigado!

    
por Harsha K 09.03.2015 / 19:13

2 respostas

3

O que fazemos na minha equipe é usar puppet para controlar esse tipo de arquivo com a configuração armazenada em um repositório subversion . Cada pessoa faz check-out de uma cópia do repositório em sua máquina local, usa seu editor favorito para fazer mudanças e, em seguida, confirma a mudança. As alterações são automaticamente aplicadas às máquinas ao vivo por puppet (que é executado com admins privs).

Você não precisa usar esse conjunto exato de ferramentas, mas esse modelo separa a edição (que pode ser feita em qualquer plataforma) da aplicação de alterações no servidor. Eu acho que isso é o que jordanm estava insinuando em seu comentário.

Este tipo de configuração também oferece controle de versão para seus arquivos de configuração, o que é bom.

É possível que isso pareça um exagero para sua situação agora, mas se a sua configuração for escalar, você deve começar a pensar nisso agora.

    
por 09.03.2015 / 20:57
0

Eu uso o notepad ++ que tem um plugin NppFTP. Ele pode ser configurado para copiar arquivos usando o sftp e, em seguida, quando você salva o arquivo, ele usa o ftp novamente para armazenar o arquivo em um servidor remoto.

    
por 09.03.2015 / 21:59