Como mudar para o root e usar os mesmos dotfiles do meu usuário normal?

3

Eu corro zsh no Mac OSX e às vezes quero mudar o terminal para o usuário root.

Gostaria de manter todos os meus dotfiles, configuração do caminho do ambiente e scripts do meu usuário comum, e fazer muitas coisas como root.

Estou usando sudo bash ou sudo zsh como minha maneira fácil de migrar para o root, mas isso tem a desvantagem de não executar todas as minhas configurações de zsh que tenho para meu usuário comum.

Qual é a melhor maneira de "tornar-se root" para executar uma série de comandos e manter toda a configuração de configuração / ambiente que eu tenho para o meu usuário normal? "

Por exemplo, personalizei o seguinte para o meu usuário normal e gostaria de tê-los todos disponíveis para o usuário root, também:

  • .zshrc
  • ~ / bin
  • .aliases
  • modo vim para entrada

EDIT: Note que estou ciente de que eu não deveria "correr como root" muito. E eu não sei. Mas eu tenho que constantemente executar alguns comandos simples como root às vezes, e eu abro uma divisão do tmux apenas para esse uso, e não para outros.

    
por Brad Parks 15.02.2016 / 15:00

2 respostas

3

Você quase certamente não quer fazer isso.

Se o seu usuário root foi apontado para seus arquivos pontuais de usuários normais, as permissões nesses arquivos de ponto podem mudar, complicando as coisas para o usuário normal.

O que você pode fazer é copiar os arquivos para o diretório inicial dos usuários root em cada login.

Em algum lugar em seu ~ / .zshenv (para raiz), copie os arquivos e ajuste suas permissões. Dessa forma, você mantém seu ambiente são e pode usar sua personalização.

Pessoalmente, se eu quiser executar vários comandos de root, eu sudo su - , mas você pode tentar sudo -E su -p para preservar o ambiente do usuário.

Aviso obrigatório!

Nunca há um bom motivo para executar sudo su . É muito melhor para executar sudo antes de cada comando. Dito isso, eu faço sudo su às vezes. Mas a regra geral é não sudo su .

    
por 15.02.2016 / 15:15
3

Para obter seus arquivos de ponto usuais, certifique-se de que sudo não altere a variável de ambiente HOME . Se isso acontecer depende da configuração em tempo de compilação e tempo de execução do sudo. Para preservar HOME , edite o arquivo sudoers (execute visudo , nunca edite este arquivo diretamente!) E certifique-se de que ele contenha

Defaults !always_set_home, !set_home
Defaults env_keep+=HOME

(Alguns deles podem ser desnecessários, dependendo das opções de compilação.) E, claro, não execute sudo -i .

Evite fazer muito como root. Por exemplo, em vez de executar um editor como root, use sudoedit .

    
por 16.02.2016 / 01:51

Tags