Devo alterar a propriedade da pasta .config que está no meu próprio diretório pessoal? Por que isso está sob raiz?

2

Esta é a captura de tela do meu próprio diretório /home/user , que é ~ . Existem dois diretórios com root ownership, .config e .local . Todos os arquivos e diretórios restantes pertencem ao meu usuário e ao grupo do meu usuário.

Eu não me importo, mas faz o git sempre lançar um aviso Permission denied :

user@os /var/www/app $ git status
warning: unable to access '/home/user/.config/git/attributes': Permission denied
warning: unable to access '/home/user/.config/git/ignore': Permission denied

Eu tenho duas perguntas.

1) Devo alterar a propriedade desses diretórios para o meu usuário?

$ sudo chown user:user .local .config

2) Por que existem diretórios root no diretório pessoal do meu usuário? Eles não deveriam pertencer ao meu usuário? São alguns diretórios especiais que devem pertencer a root ?

    
por Green 22.11.2016 / 12:00

2 respostas

2

para responder 1)
Sim, esses diretórios devem pertencer a você, não ao root. você pode seguramente chown de volta para você.

quanto à segunda pergunta:
isso pode acontecer se você executar programas usando sudo .

Você pode ver por que, quando você executa sudo env , que informa HOME ainda é /home/username em vez de /root .

Para evitar essa confusão, você pode usar sudo da seguinte forma:

sudo -u root -H env

agora você pode ver HOME=/root . Em vez de env você também pode usar qualquer outro comando.

    
por Phillip -Zyan K Lee- Stockmann 22.11.2016 / 12:09
0

Regra geral:

Use gksudo ou sudo -H com programas com uma interface gráfica de usuário, GUI .

Geralmente, são programas GUI que criam e usam arquivos de configuração no diretório inicial. O root pode substituir os arquivos de configuração e capturar a propriedade, o que dificulta ou impossibilita o uso do programa sem o sudo.

Você pode usar sudo sem nenhuma opção para executar programas de linha de comando com uma interface de texto simples.

Exemplos:

sudo -H nautilus    # look at files with a GUI interface
sudo ls             # list files with a text interface
sudo ls -l          # long list (with permissons etc)

Observe que você deve usar somente sudo quando necessário . Execute a maioria dos comandos com seu nome de login. Isso diminui o risco de danificar o sistema operacional.

A diferença entre 'sudo -H' e 'sudo' é ilustrada aqui:

sudodus@xenial32 ~ $ sudo env|grep ^HOME
[sudo] password for sudodus: 
HOME=/home/sudodus

sudodus@xenial32 ~ $ sudo -H env|grep ^HOME
HOME=/root
    
por sudodus 22.11.2016 / 14:14