Corrigindo o erro do zsh: Permissões negadas no Linux ou macOS

O erro “zsh: permissão negada” ocorre quando você tenta executar um comando no Linux ou Mac sem as permissões necessárias. Isso pode ser algo tão simples quanto executar o comando `ls` em um diretório sem permissão de escrita ou executar um script que realiza ações para as quais seu usuário não está autorizado. Por “permissões”, nos referimos a permissões de leitura ou escrita.

Vamos analisar a principal causa desse erro e, em seguida, podemos testar cada solução para ver qual é a melhor.

Esse erro ocorre principalmente quando você não tem permissões de execução, gravação ou leitura para o arquivo.

Vamos supor que estamos dentro de um shell Zsh em um sistema operacional Linux e você está tentando visualizar o conteúdo de um arquivo usando o comando 'cat', mas recebe um erro de 'permissão negada'.

Para corrigir esse erro, primeiro precisamos verificar as permissões do arquivo. Executamos o comando "ls -l" para ver as permissões.

Como você pode ver, as permissões estão configuradas de forma que somente o usuário root e o grupo root podem ler o arquivo, enquanto apenas o usuário root pode escrever no arquivo.

1. Usando sudo

Para corrigir isso, a solução mais simples é usar 'sudo' com o comando que você deseja executar. Isso executará o comando como usuário root. No seu caso, você também pode usar 'sudo' quando tiver certeza de que o comando ou tarefa que deseja executar não danificará seu computador.

Podemos, portanto, operar:

sudo cat arquivo

2. Alterar as permissões do(s) arquivo(s)

O próximo passo que podemos tomar é alterar as permissões do arquivo. Como o erro "permissão negada" geralmente é causado por permissões de leitura ou gravação, podemos alterar as permissões deste arquivo ou dos arquivos em questão.

Executando o comando 'ls -l' no diretório onde o arquivo está localizado, podemos ver que o proprietário do arquivo e seu grupo são o usuário root.

Podemos alterar o proprietário para o nosso usuário e então fazer o que quisermos com o arquivo.

Podemos operar:

sudo chown [usuário] [nome-do-arquivo]

Em nosso exemplo, como v3n0m é o usuário com o qual fizemos login, executaremos o comando da seguinte forma:

sudo chown v3n0m arquivo

v3n0m é o nosso nome de usuário. No seu caso, seria o seu nome de usuário.

Agora podemos executar o comando `cat` no arquivo, pois ele não exibirá mais um erro de permissão negada.

3. Habilitar poderes de execução

Você pode usar `./` com um nome de arquivo no Zsh ou em outros shells para executar um arquivo como um programa. No entanto, se as permissões de execução não estiverem definidas para o arquivo, você receberá um erro 'zsh: permissão negada'.

Digamos que queremos executar um script chamado script1. Digitamos ./script1 no terminal e recebemos este erro:

Executamos o comando `ls -la` no arquivo para verificar as permissões. Como você pode ver, as permissões de execução do arquivo não estão definidas.

A solução aqui é simples: adicione permissões de execução ao arquivo.
Emitimos uma ordem simples.

chmod +x script1

O comando ` chmod +x` adicionará o bit de execução às permissões do arquivo para o proprietário, grupo e outros usuários.

Agora podemos executar o arquivo como um programa digitando ` ./ script1` sem nenhum erro.

Esse erro deve se resolver sozinho se você estiver enfrentando-o no Linux; no entanto, se você estiver enfrentando esse erro no macOS ou no Gradle, continue lendo o artigo.

Edite seu arquivo zshrc (macOS)

Alguns usuários do macOS relataram um problema ao usar o `zsh` quando não estão dentro do diretório de onde desejam executar um comando.

Se você se deparar com um problema semelhante, a solução é muito simples.

Você precisa modificar o arquivo ` .zshrc` no seu diretório ` home/username` e adicionar o seguinte ao final do arquivo.

setopt auto_cd

Isso habilitará a opção ` auto_cd` no `zsh`.

Para editar um arquivo ` .zshrc` , você pode usar qualquer editor de texto gráfico ou editor de texto de linha de comando, como `vim` ou `vi`.

Utilizando o comando CHMOD para definir permissões (Gradle)

O erro “zsh: permissão negada” pode ocorrer se você estiver trabalhando com o Gradle e seu arquivo `gradlew` não tiver as permissões corretas.

Para corrigir esse erro, você precisa configurar as permissões corretas no Gradlew.

Você pode digitar este comando no seu terminal,

chmod 755 gradlew

Isso tornará o arquivo ` gradlew` executável e o erro será corrigido.

Ou você pode simplesmente digitar este comando: ` chmod +x gradlew`

Isso também tornará o arquivo `gradlew` executável.

Se nenhuma dessas soluções funcionar para você, sinta-se à vontade para comentar abaixo e nosso técnico terá prazer em ajudá-lo em breve.

 

Comentários estão fechados.