Arquivo .vimrc exclusivo do usuário para servidores como usuário root

4

Estou sendo colocado em uma guerra de IDE no escritório, onde vários usuários têm acesso root em nossos servidores e gostam de ter tudo à sua maneira com o VIM. Infelizmente, temos nossos servidores bloqueados o suficiente para onde se você quiser fazer qualquer coisa, você precisa ter acesso root. Obviamente (embora isso seja obviamente mal visto), ficamos cansados de digitar sudo antes de cada comando que digitamos, o que exigiria que constantemente digitássemos nossas senhas maravilhosamente complexas que são obrigatórias em nós repetidamente, então naturalmente todos nós apenas executamos o comando sudo su - no login para evitar tudo isso.

É claro que, quando se trata de arquivos .vimrc personalizados e VIM, muitas vezes passamos a usar o arquivo .vimrc personalizado de outra pessoa, e temos algumas funcionalidades prejudicadas nesses arquivos que os usuários podem sobrescrever a funcionalidade que temos nenhuma ideia sobre, muito menos ter paciência para aprender também.

Quando como root em uma caixa linux, existe alguma maneira de todos nós ainda mantermos nosso arquivo .vimrc sem ter que sobrescrever o arquivo uma e outra vez toda vez que alguém quiser usar o VIM? Idealmente, temos muitas máquinas virtuais, todas com o VIM instalado, portanto, uma solução universal em todos os servidores seria melhor, e temos nossos diretórios pessoais específicos do usuário do Microsoft Windows montados nos servidores em / home / username.

Alguma recomendação para acomodar isso?

    
por Scott 24.06.2011 / 19:37

2 respostas

2

Eu posso pensar em 3 opções. O primeiro é provavelmente o mais simples.

  1. chame vim como o seguinte vim -u /path/to/custom/.conifg fileToEdit
    Entrada do Homem:

    -u {vimrc}  Use  the commands in the file {vimrc} for initializations. 
    

    All the other initial‐ izations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name "NONE". See ":help initial‐ ization" within vim for more details.

      -U {gvimrc} Use the commands in the file {gvimrc} for GUI
    

    initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name "NONE". See ":help gui-init" within vim for more details.

  2. sudo -i , conforme especificado por @knittl link

  3. Por último, link o que sugere manter um conjunto de arquivos de configuração pessoal em git ou outro sistema de controle de versão. Portanto, cada usuário pode verificar o que precisa ao efetuar login. Além disso, você pode manter um histórico de suas alterações. o controle de versão nunca é uma má ideia.
por 24.06.2011 / 19:45
5

use sudo -i para chegar a um shell de root com o ambiente do usuário atual ainda carregado.

man sudo :

The -i (simulate initial login) option runs the shell specified in the passwd(5) entry of the user that the command is being run as. The command name argument given to the shell begins with a - to tell the shell to run as a login shell. sudo attempts to change to that user's home directory before running the shell. It also initializes the environment, leaving TERM unchanged, setting HOME , SHELL , USER , LOGNAME , and PATH , and unsetting all other environment variables. Note that because the shell to use is determined before the sudoers file is parsed, a runas_default setting in sudoers will specify the user to run the shell as but will not affect which shell is actually run.

    
por 24.06.2011 / 19:50

Tags