Obtendo permissão de arquivo de aviso com usuário root

3

O que esse aviso significa? Eu consegui-lo ao executar o seguinte comando usando root na instância amazon ec2 Ubuntu 14.04 LTS :

pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz

  

O diretório '/home/ubuntu/.cache/pip/http' ou seu diretório pai   não pertence ao usuário atual e o cache foi desativado.   Por favor, verifique as permissões e o proprietário desse diretório. Se executando   pip com sudo, você pode querer a bandeira -H do sudo.       O diretório '/home/ubuntu/.cache/pip' ou seu diretório pai não pertence ao usuário atual e as rodas de armazenamento em cache foram desativadas.   verifique as permissões e o proprietário desse diretório. Se executando pip   com sudo, você pode querer a bandeira -H do sudo.

    
por Oludare Fajimolu 17.01.2017 / 14:37

2 respostas

3

Bem, sua pergunta parcialmente tem uma resposta na citação:

Você está usando sudo para obter permissões de root, mas a maneira como você está usando sudo não ajusta o valor de $HOME , então pip tenta instalar no diretório pip de o usuário que invocou sudo .

Isso pode causar problemas se o usuário real quiser remover ou alterar os módulos instalados, portanto, o aviso.

Para evitar o aviso e, a menos que você não precise, use pip sem root / sudo ou invoque sudo como sudo -H , que definirá $HOME para o usuário que você está alterando, neste caso /root .

    
por FatalMerlin 17.01.2017 / 14:49
0

Esta mensagem sugere o fato de você ter executado o pip anteriormente usando sudo para o comando então emitido.
Por exemplo sudo -u root pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz

por padrão, o sudo não muda, toque na variável env $ HOME e, portanto, sudo -u root env | grep HOME está imprimindo HOME=/home/username .
Adicionar -H ao comando sudo altera esse comportamento e imprime HOME=/root .

Para resolver seu problema, certifique-se de que todas as pastas neste caminho /home/ubuntu/.cache/pip/http (exceto / e / home) sejam de propriedade de ubuntu :

sudo -u root -H chown -R ubuntu: /home/ubuntu/.cache
    
por Phillip -Zyan K Lee- Stockmann 17.01.2017 / 14:48