Permissões de terminal alteradas

2

Por nenhuma razão conhecida, de repente eu tenho que executar a maioria dos comandos do terminal usando o sudo. Por exemplo, eu sempre fui capaz de executar "git pull / push" etc. sem nenhum problema. Agora, recebo "permissão negada". Existe alguma maneira de redefinir as permissões para padrão? Estou usando o OS X Yosemite.

    
por user1337 25.10.2014 / 15:10

2 respostas

2

Como na primeira resposta, você executou vários comandos com o comando elevado, sudo , em seu espaço pessoal. Agora você tem diretórios em seu espaço pessoal que são de propriedade, não de você, mas de raiz. Se você digitar cd sem parâmetros, você será levado para o final do seu espaço pessoal (onde ele começa) e poderá vê-lo com o comando pwd .

Em muitos sistemas, por padrão, seu espaço pessoal será / home / [seu nome de usuário].

Você pode corrigir esse have to execute most terminal commands using sudo recuperando o acesso ao seu diretório pessoal inteiro.

Faça isso primeiro indo para o seu diretório inicial e, em seguida, retornando a um nível com cd .. .

Agora, execute este comando:

$ sudo chown -R [your username] [your username]

Se o seu nome de usuário for ljames, você pode fazer isso com esta sequência:

$ cd ~ljames
$ cd ..
$ sudo chown -R ljames ljames

Existem várias maneiras de fazer isso. Eu pensei nesses detalhes para ajudá-lo a ver onde as mudanças estão ocorrendo. Você pode efetivamente fazer isso em uma linha de comando com:

$ sudo chown -R ljames ~ljames

Agora, quando você está trabalhando em seu próprio espaço pessoal, não deve receber os erros permission denied . Você só deve ter permissão negada quando estiver trabalhando fora da sua área pessoal no que é chamado de system wide . Você terá que usar o comando elevado sudo para fazer alterações nessas áreas.

    
por 25.10.2014 / 15:46
0

Isso dependerá das permissões das pastas / arquivos que você está tentando modificar e não dos próprios comandos. Você provavelmente executou um comando git como sudo uma vez e isso mudou a propriedade para root. Eu poderia lhe dar uma resposta mais específica se você postou a saída de ls -l no seu repositório git .

Assumindo que o problema foi descrito acima, você pode corrigi-lo alterando a propriedade de volta para o usuário (substitua UserFoo pelo seu nome de usuário real):

chown -R UserFoo /path/to/git/folder 
    
por 25.10.2014 / 15:13

Tags