Meu usuário, bob, não pode acessar arquivos que ele possui (teoricamente). Estou executando o Fedora Core 8. Provavelmente é mais fácil mostrar do que dizer:
> ls -al .
total 32
drwxrwxr-x 7 bob bob 4096 May 18 14:33 .
drwxrwxr-x 4 bob bob 4096 May 12 15:44 ..
drwxr-xr-x 2 bob bob 4096 June 1 14:22 log
> cd ./log
-bash: cd: log/: Permission denied
> ls -al ./log
ls: cannot access log/..: Permission denied
ls: cannot access log/the.log: Permission denied
ls: cannot access log/.: Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
-????????? ? ? ? ? ? the.log
> sudo ls -al ./log
drw-rw-r-- 3 bob bob 4096 Jun 2 04:11 .
drwxrwxr-x 7 bob bob 4096 May 18 14:33 ..
-rw-rw-r-- 1 bob bob 0 Jun 1 04:12 the.log
O ls -al
destaca-se como muito estranho. Ele listará os arquivos que não tenho permissão para ver, mas não me mostrarão as permissões?
Então, as perguntas são: o que causaria isso? E o que posso fazer para repará-lo?
fonte
Vi coisas assim quando o sistema de arquivos foi corrompido ou se você tem uma unidade com falha. A correção geralmente é executar o fsck no sistema de arquivos e corrigir os erros encontrados.
fonte
Além disso, verifique as configurações do SE / Linux. Às vezes, as permissões no arquivo não têm nada a ver com a possibilidade de acessá-lo ou não.
fonte
Os arquivos podem ter o conjunto imutável ou anexar apenas atributos estendidos. Já tive isso antes e nem mesmo o root pode excluir o arquivo.
Atributos estendidos podem ser visualizações via "lsattr" e alterados via "chattr"
fonte
Não sei por que, mas o "." entrada em ./log/ não possui permissões de execução. As permissões devem ser idênticas às de ./log.
Você pode tentar chmod 755 ./log e chmod 755 ./log/. e veja se algum comando corrige o acesso?
Fora isso, eu aconselho que você execute um fsck no sistema de arquivos porque parece que ele está fora de sincronia.
fonte
Você já tentou mudar a propriedade do diretório para outra pessoa e depois voltar para Bob? O conselho de Zoredache é melhor - apenas fsck!
fonte
Uma resposta mais concisa IMO.
Seu diretório não possui permissões executáveis, exigidas pelo cd .
Consertar:
Recursivamente:
+ x está adicionando o atributo executável. Você sempre pode remover o atributo executando -x
fonte