A permissão para executar 'ls' é negada

1

Estou executando meu servidor como usuário root, mas apesar disso, quando executo o comando ls , recebo este erro:

bash: /bin/ls: Permission Denied.

Eu tentei alterar as permissões deste arquivo com chmod , mas a permissão também foi negada. Qual é a causa disso?

    
por user219442 12.05.2014 / 17:31

1 resposta

5

Existem várias causas possíveis para isso.

  1. O sistema de arquivos está montado noexec .
  2. Corrupção do sistema de arquivos que precisa ser corrigida com fsck.
  3. O sistema de arquivos é estrangeiro e a tradução incorreta de permissões resulta em privilégios negados.
  4. O diretório que contém o binário não possui o bit de execução definido (causando um problema com o traversal)
  5. Um subdiretório no diretório não possui o conjunto de bits de execução (aplica-se somente se o binário estiver aninhado em mais de um diretório)
  6. O binário não possui os bits de leitura e execução definidos para seu ID de usuário ou ID de grupo.
  7. Você não é realmente root (UID 0), mesmo que o nome da conta diga root . Embora improvável, isso é possível. Observe que root não é 100% igual a UID 0, que é um ID "especial" que ultrapassa as verificações de privilégios. A conta root , no entanto, é mapeado para o UID 0.
  8. Regras do SELinux / grsecurity que negam tudo. (obrigado Janne Pikkarainen! teve um pequeno bloqueio mental sobre esse aborrecimento).
  9. Um ou mais binários estão comprometidos. Nesse caso, você não pode confiar em nada que esteja executando.

Mais informações são necessárias para entender realmente o que está acontecendo.

    
por 12.05.2014 / 22:27