Se deparou com o problema permissão negada no linux ?
Essa mensagem é um balde de água fria que qualquer usuário ou administrador que está executando uma tarefa no linux passa.
E para ajuda-lo(a) a resolver esses problemas este artigo ensinará 8 exemplos de erros de permissão negada no linux explicando as causas e como soluciona-las.
1. Erro “Não foi possível abrir arquivo de trava /var/lib/apt/lists/lock – open (13: Permissão negada)”
Este é um dos erros de permissão negada no Linux mais comuns que usuários de distribuições baseadas em Debian e Ubuntu se deparam.
Ele ocorre quando você tenta atualizar o sistema ou instalar um novo pacote via terminal e o sistema de travamento (locking) do gerenciador de pacotes APT impede o uso do comando apt ou apt-get, gerando uma das mensagens a seguir:
E: Não foi possível abrir arquivo de trava /var/lib/apt/lists/lock - open (13: Permissão negada)
E: Não foi possível abrir arquivo de trava /var/lib/dpkg/lock-frontend - open (13: Permissão negada)
E: Não foi possível obter a trava /var/lib/apt/lists/lock. Ela está sendo mantida pelo processo (packagekitd)
O ubuntu e debian utilizam arquivos de trava (.lock) para impedir que dois processos tentem modificar a base de dados de pacotes simultaneamente, o que poderia corromper o sistema.
Os dois motivos principais para o erro é:
- Falta de privilégios: Você tentou executar o comando com um usuário comum (sem usar o sudo), mas a manipulação de pacotes exige privilégio de superusuário (root).
- Processo em segundo plano: Outra instância do gerenciador de pacotes (como o packagekitd) já está rodando e “trancou” o arquivo, gerando no terminal outra mensagem de erro “E: Não foi possível obter a trava /var/lib/apt/lists/lock. Ela está sendo mantida pelo processo (packagekitd)”.
Como Resolver ?
Para solucionar, siga estes passos em ordem:
- Se está usando um usuário sem privilégios, use o comando sudo (antes do comando) ou a conta de usuário root para executar o comando apt ou apt-get.
- Caso utilize o comando sudo ou o usuário root, e o erro persiste, então existe outro processo usando o gerenciador de pacotes. Nesse caso, aguarde alguns minutos para que as atualizações automáticas terminem e volte a executar o comando.
2. Erro “Este comando deve ser executado com privilégios de superusuário”
Esse erro ocorre no Linux quando você tenta realizar uma tarefa administrativa (como instalar pacotes ou gerenciar serviços) sem ter as permissões necessárias.

O sistema protege arquivos cruciais exigindo que apenas o usuário root (superusuário) faça essas alterações, e se você não é root ou não usa o comando sudo a tarefa não é executada e essa mensagem de permissão negada no linux exibida na tela.
Como Resolver ?
A solução é executar a tarefa usando o usuário root para escalonar o privilégio necessário. Caso não queira usar o usuário root, pode-se usar o comando sudo (se estiver instalado e configurado).
3. Erro “chmod: Operação não permitida”
Diferente de outros erros de permissão negada no Linux, o erro “operação não permitida” do comando chmod indica uma falha na tentativa de alterar as propriedades de acesso de um arquivo ou diretório.
No Linux, apenas o proprietário do arquivo ou o usuário root tem o direito de alterar as permissões de um objeto.
Se você tentar mudar as permissões de um arquivo ou diretório que pertence a outro usuário usando o comando chmod, o sistema retornará a “chmod: Operação não permitida“.
Para aprender mais sobre permissões no linux recomendo a leitura desse artigo completo.
Exemplo, se tentar alterar as permissões de /etc/hosts ou /etc/shadow com um usuário comum o erro “chmod: operação não permitida” é impresso na tela:
chmod o+w /etc/hosts
No comando anterior um usuário sem privilégios tenta atribuir a permissão de escrita aos outros (others) do arquivo /etc/hosts. Como o usuário não é proprietário e nem o root é gerado o erro de operação não permitida.
Como Resolver ?
Execute o comando chmod logado com usuário proprietário do arquivo ou diretório que está alterando as permissões.
Se o arquivo não pertence ao seu usuário, o comando chmod deve ser executado utilizando o usuário root para alterar as permissões ou use o comando sudo.
4. Erro “chown: Operação não permitida”
Quando você se depara com a mensagem “chown: Operação não permitida“, significa que você tentou alterar o proprietário ou grupo de um arquivo ou diretório e o linux está impedindo que você “doe” ou “tome” a propriedade do objeto sem a autorização.
A causa deste erro geralmente é a restrição de usuário comum. Apenas o root (superusuário) tem autorização para alterar o dono de qualquer arquivo no sistema.
Por exemplo, ao executar os comandos a seguir com usuário comum, vai ser gerado um erro pelo comando chown de operação não permitida no linux.
> file.txt
ls -l file.txt
chown nobody:mail file.txt
Como Resolver ?
A resolução para este erro está ligada a elevação de privilégios, já que a troca de proprietários é uma tarefa administrativa.
Execute o comando chown utilizando sudo, caso esteja presente no sistema e configurado corretamente. No exemplo a seguir é alterado o proprietário para nobody e o grupo para mail.
sudo chown nobody:mail file.txtOu acesse o sistema com usuário root e execute o comando.
chown nobody:mail file.txt5. Erro “-bash: ./script.sh: Permissão negada”
Este erro de permissão negada no linux pode acontecer com qualquer arquivo de script que você tente executar diretamente, o “./script.sh” é apenas um exemplo.
Quando você recebe a mensagem “-bash: ./nome-do-script: Permissão negada“, a causa é quase sempre a ausência da permissão de acesso (x), e mesmo com a permissão “x” (execute) pode ser gerado o mesmo erro se não houver a permissão de leitura para ler o código do script.
Exemplos de situações que geram esse erro:
- Tentar executar scripts baixados da internet: Arquivos baixados via wget ou curl podem chegar ao seu computador sem a permissão de execução atribuida.
- Arquivos recém-criados: Se você criou um script usando o nano ou vim, ele é gerado apenas com permissões de leitura e escrita.
Como Resolver ?
A solução consiste em conceder as permissões corretas para execução do script. Por exemplo, logado com usuário root ou usuário proprietário do script, execute o comando chmod com o parâmetro “+rx“.
chmod +rx script.shAgora, ao tentar roda-lo com “./script.sh”, ele será executado.
Se você não quiser ou não puder alterar as permissões do arquivo, você pode “chamar” o interpretador diretamente e passar o script como argumento.
Para funcionar o usuário deve ter permissão para lê o conteúdo do script, por exemplo, para scripts
interpretados pelo shell bash:
bash script.sh # substitua script.sh pelo nome real do scriptPara scripts Python (substitua script.py pelo nome real do script):
python3 script.pyAssim o programa interpretador (bash, python) lê o e executa o código do script.
6. Permissão negada no linux ao tentar acessar ou gravar em diretórios ?
Tentou acessar um diretório ou criar um arquivo dentro da pasta e recebeu a mensagem de permissão negada ? É um erro que acontece porque o seu usuário não possui as permissões necessárias para acessar e/ou escrever no diretório.
Por exemplo, ter permissão de escrita em uma pasta (/tmp/paste1 no exemplo), mas não ter autorização para acessa-la.
cd /tmp/paste1 # permissões: drwxr-x-w-
Mesmo com a permissão de escrita concedida para todos outros usuários (others), com exceção dos membros do grupo, não é possível copiar arquivos para dentro e nem acessar o diretório.
Como Resolver ?
Para solucionar, você deve configurar as permissões para que o usuário tenha o nível de acesso desejado. No exemplo, é necessário atribuir permissão de acesso ao diretório (/tmp/paste1) para todos os outros usuários.
chmod o+wx /tmp/paste1Tenha em mente que permissões para diretórios quase sempre precisam ser concedidas juntas para serem úteis e chegar ao resultado esperado.
7. Erro “rm: não foi possível remover: operação não permitida”
Diferente de um simples bloqueio de leitura ou escrita, aqui estamos falando de um impedimento direto na exclusão de um item.
Os principais motivos para o comando rm (remove) falhar com esta mensagem específica é:
- Atributos de Imutabilidade: O arquivo foi marcado com um atributo especial que impede a exclusão, independentemente do nível de privilégio (até mesmo para o root).
- Sticky Bit Ativado: Em diretórios como o /tmp, onde a permissão especial Sticky Bit está ativa, apenas o dono do arquivo ou do diretório ou o usuário root pode excluí-lo.
Para ilustrar o problema, veja sequência de comandos a seguir que cria um arquivo chamado file1.txt e adiciona um atributo especial:
> file1.txt
chattr +i file1.txt # adiciona atributo immutableou adicionando o atributo “append only” (a):
chattr +a file1.txtApós adicionar o atributo especial (immutable ou append only) o arquivo fica impossibilitado de ser removido, mesmo pelo usuário root.
rm -vf file1.txt
Como Resolver ?
Para resolver esse problema de operação não permitida no linux ao executar o comando rm, primeiro liste as permissões do diretório que contém o arquivo que será removido, no exemplo do artigo é o diretório /home/dlncloud.
ls -ld /home/dlncloud # substitua /home/dlncloud pelo diretório realSe a permissão sticky bit estiver atribuída ao diretório, ou seja, no último digito das permissões ter um “t”, então acesse o sistema com o usuário root ou com a conta de usuário proprietário do arquivo ou o proprietário do diretório e em seguida tente remove-lo.
Se o comando rm falhar, verifique se o arquivo contém o atributo “immutable” ou “append only” com o comando lsattr. No exemplo desse artigo o nome do arquivo é file1.txt.
lsattr file1.txtSe houver um “i” de “immutable” ou “a” de “append only” na saída do comando lsattr, remova o atributo antes de tentar deletar o arquivo.
Para remover o atributo “immutable” execute com o usuário root:
chattr -i file1.txtMas se o atributo “a” (append only) estiver presente o comando para remover é:
chattr -a file1.txtSubstitua file1.txt pela localização completa do arquivo que está tentando alterar ou remover. Após a remoção do atributo você já pode remover ou alterar o arquivo.
8. Erro “error: Bind to port on 0.0.0.0 failed: Permission denied”
Se você mudou a porta padrão de um serviço (por exemplo o SSH de 22 para 2222) em distribuições linux baseadas em Red Hat, o SELinux vai bloquear a execução por padrão, gerando o erro “error: Bind to port 2222 on failed: Permission denied”.

Mesmo fazendo as alterações como root, o SELinux pode impedir se a porta não estiver explicitamente autorizada na política de segurança do sistema para o serviço específico.
Como Resolver ?
Ajuste a Política do SELinux: você precisa informar ao sistema que a porta é segura para o serviço, autorizando o serviço a utilizar a porta permanentemente.
Primeiro instale o comando semanage no sistema:
dnf install policycoreutils-python-utils -yPor exemplo, para autorizar o serviço SSH a utilizar a porta 2222/tcp o comando completo é:
semanage port -a -t ssh_port_t -p tcp 2222Se o serviço for httpd (apache), e precisa usar a porta 8080/tcp, o comando ficaria assim:
semanage port -a -t http_port_t -p tcp 8080Para aprender mais sobre o comando semanage recomendo a leitura do manual online.
Conclusão
Ao longo do artigo foi explorado as principais causas dos erros de permissão negada no Linux, geradas desde falta de privilégios de superusuário até travas do APT.
É importante sempre ler atentamente a mensagem de erro e evitar o uso excessivo do root sem necessidade. Pratique o gerenciamento de permissões em ambientes de teste para ter mais conhecimento, evitando alterações acidentais em arquivos críticos.
Restou alguma dúvida sobre como resolver esses problemas ou tem uma sugestão ? Deixe seu comentário abaixo.

