Entendendo o uso adequado do sudo para usar o usuário local $ GOPATH

4

Para entender meu problema, aqui está minha configuração atual:

Estou trabalhando com um usuário " foo ", esse usuário tem $GOPATH as /foo/go/ .

Este usuário está no grupo sudo'ers.

Estou tentando trabalhar em um diretório git em um projeto go. Se eu usar sudo eu posso editar o arquivo, o problema é que se eu tentar construir meu projeto a partir do vim, ou rodar qualquer coisa do meu gopath (como :GoMetaLinter ) então ele roda no contexto do usuário root, já que usou o sudo, mas esse usuário não possui um conjunto de gopath.

Eu realmente não entendo como resolver isso corretamente. Eu restaurei a abertura do arquivo como somente leitura para usar meu linter e, em seguida, usando o vim para sudo e escrever, mas isso é estúpido, e eu sei que não é "correto". Qual é a maneira correta de usar o sudo para que o contexto / variáveis dos meus usuários locais sejam usados e não raízes?

    
por Michael 01.07.2018 / 17:12

1 resposta

0

sudo não manterá variáveis de ambiente devido a preocupações de segurança. Para substituir isso, adicione algo como

Defaults env_keep += "HOME GOPATH"

para /etc/sudoers deve ajudar, listando as variáveis de ambiente que você deseja preservar.

link pode conter sugestões adicionais.

    
por 25.10.2018 / 02:46

Tags