Permissão negada no Terminal do Mac? Experimente isto

O app Terminal é ótimo para executar processos e cuidar de tarefas se você tem familiaridade com comandos Unix. Quando você usa os comandos certos, ele simplesmente funciona. Mas às vezes, pode surgir uma mensagem de erro, como “Permission denied”. Ela aparece por diversos motivos, como quando o arquivo em que você está trabalhando está bloqueado ou existe um problema de permissões. Neste artigo, mostraremos o que fazer quando você vir essa mensagem de erro no Terminal.

O que é o Terminal?

O Terminal é um app que fica na pasta Utilitários, dentro da pasta Aplicativos. Ele permite que você execute processos e tarefas em uma interface de linha de comando para controlar o Mac. Graças ao kernel Unix do macOS, ele pode interpretar e executar comandos Unix normais. Até o macOS Catalina, o shell padrão do terminal era bash. O shell é a camada na qual você digita e executa os comandos. Mas o Terminal pode rodar outros shells por cima do bash. Um desses se chama zsh. O zsh tem algumas vantagens sobre o bash: ele é mais fácil de usar para algumas tarefas e não requer permissões de usuário rigorosas da maneira que o bash exige. Atualmente, zsh é o shell padrão do macOS. Para saber qual shell o Terminal está usando, basta olhar para a barra de título da janela do Terminal. Ela mostra o seu nome de usuário, o nome do shell e as dimensões da janela.

Por que as pessoas usam o Terminal?

Há muitos motivos que explicam o amor de usuários do Mac pelo Terminal. Para quem conhece comandos Unix, o Terminal oferece uma maneira rápida de executar processos e tarefas. Outro bom motivo para usar o Terminal é que ele permite acesso a partes ocultas do macOS, que não aparecem nas Preferências do Sistema. Com ele, você pode mudar certos ajustes que, de outra forma, exigiriam um app de terceiros para alterar. Por exemplo, se você quiser mudar o tipo de arquivo padrão das capturas de tela de png para jpg, será preciso usar o Terminal.

O que “Permission denied” significa?

Essa mensagem indica que o Terminal não pode completar o comando que você está tentando executar porque ele não tem acesso ao arquivo correspondente. Como sugerido pelo que aparece escrito em inglês, ele não pode acessar o arquivo porque não tem permissão. Isso pode acontecer por diversos motivos, mas normalmente ocorre porque:

  • Você não tem permissão para editar o arquivo
  • O arquivo está bloqueado
  • O comando executado não está devidamente formatado

Como resolver “Permission denied” no Terminal

Verifique as permissões do arquivo

Há duas maneiras de verificar as permissões de um arquivo. Você pode usar o Finder ou o Terminal para fazer isso. Mostraremos ambas as opções abaixo.

Terminal

  1. Abra o Terminal e digite este comando, seguido de um espaço: ls -l
  2. Localize o item no qual você tentava trabalhar ao receber a mensagem de erro e arraste‑o para a janela do Terminal.
  3. Pressione Return.
  4. Caso veja as letras “rwxr” na sequência de caracteres antes do seu nome de usuário no resultado, isso significa que você pode ler, gravar e executar o arquivo. Caso veja somente “r”, isso quer dizer que você pode apenas ler o arquivo.

Finder

  1. Localize o arquivo ou pasta no Finder.
  2. Pressione Command + I para abrir a janela de informações do item.
  3. Na parte inferior da janela, observe o que aparece na seção “Compartilhamento e Permissões”. Caso nada apareça, clique na seta ao lado do nome da seção.
  4. Analise as permissões ao lado do seu nome de usuário. Elas devem mostrar “Leitura e Gravação”.

Altere as permissões de um arquivo

Se as permissões que você acabou de verificar não permitem que você grave no arquivo, é provável que o erro esteja aí. Para corrigir isso no Finder, clique ao lado do seu nome de usuário na janela de informações (sob a coluna Privilégio) e escolha “Leitura e Gravação”.

Para alterar as permissões no Terminal, faça o seguinte:

  1. Digite este comando, seguido de um espaço: chmod 755
  2. Arraste o item para a janela do Terminal.
  3. Pressione Return.
  4. As permissões do item serão alteradas para leitura, gravação e execução.

Altere a propriedade de um diretório

Se o problema não for resolvido com a alteração das permissões, tente mudar a propriedade do diretório para o seu usuário. Nos passos abaixo, substitua [nomedeusuário] pelo seu nome de usuário e [caminhododiretório] pelo caminho do diretório cuja propriedade você quer alterar. Você também pode simplesmente arrastar a pasta para a janela do Terminal, conforme feito anteriormente.

  1. Digite: chown -R $[username]:[username] [directorypath]
  2. Pressione Return.

Uma maneira mais fácil de solucionar problemas com o Terminal

Há casos onde o erro “Permission denied” aparece por causa de um problema com o próprio Terminal. Uma forma de solucionar isso é redefinindo o app. E a maneira mais fácil de fazer isso é usando um app muito útil, chamado CleanMyMac X. O CleanMyMac X tem diversos módulos que podem liberar espaço, otimizar o Mac, mantê‑lo livre de malware e — mais importante neste caso — corrigir erros. O app é autenticado pela Apple. Baixe‑o de graça aqui.

  1. Abra o CleanMyMac X e clique em Desinstalador na barra lateral.
  2. Use a barra de busca para buscar o Terminal.
  3. Clique na seta à esquerda do tamanho do app.
  4. Clique nos círculos à esquerda de Preferências, “Arquivos de Suporte” e Registros.
  5. Clique no menu à direita do ícone do Terminal e escolha Redefinir.
  6. Clique no botão Redefinir.


Dica:

Para poder redefinir os apps do sistema, abra as preferências do CleanMyMac X. Clique em Lista Ignorar e, na barra lateral, clique em Desinstalador. Desmarque a opção “Ignorar aplicativos do sistema”.



Normalmente, o erro de permissão no Terminal é causado por problemas de permissão com o arquivo ou diretório no qual você quer trabalhar. Para corrigi‑lo, basta mudar as permissões ou a propriedade. Se isso não funcionar, use o CleanMyMac X para redefinir o Terminal. Por fim, verifique se os comandos digitados no Terminal estão propriamente formatados.

CleanMyMac X

Seu Mac. Como novo.