Mój użytkownik, Bob, nie ma dostępu do plików, które on (teoretycznie posiada). Korzystam z Fedory Core 8. Prawdopodobnie łatwiej jest pokazać niż powiedzieć:
> 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
ls -al
Wyróżnia się bardzo dziwne. Wyświetli listę plików, których nie mam uprawnień, aby zobaczyć, ale nie pokaże mi uprawnień?
Pytanie brzmi: co by to spowodowało? Co mogę zrobić, aby to naprawić?
źródło
Widziałem takie rzeczy, gdy system plików został uszkodzony lub jeśli masz uszkodzony dysk. Naprawą jest zazwyczaj uruchomienie fsck przeciwko systemowi plików i umożliwienie poprawienia znalezionych błędów.
źródło
Sprawdź także ustawienia SE / Linux. Czasami uprawnienia do pliku nie mają nic wspólnego z tym, czy masz do niego dostęp.
źródło
Pliki mogą mieć niezmienne lub dołączać tylko rozszerzone atrybuty. Zdarzyło mi się to wcześniej i nawet root nie mógł usunąć pliku.
Rozszerzone atrybuty mogą być widokami za pomocą „lsattr” i zmieniane za pomocą „chattr”
źródło
Nie jestem pewien dlaczego, ale „.” wpis w ./log/ nie ma uprawnień do wykonywania. Uprawnienia powinny być identyczne z uprawnieniami dla ./log.
Czy możesz spróbować chmod 755 ./log i chmod 755 ./log/. i sprawdź, czy któreś polecenie naprawia dostęp?
Poza tym radzę uruchomić fsck w systemie plików, ponieważ wygląda na to, że nie jest zsynchronizowany.
źródło
Czy próbowałeś zmienić własność katalogu na inną osobę, a potem z powrotem na Boba? Porada Zoredache jest jednak lepsza - po prostu ją sprawdź!
źródło
Bardziej zwięzła odpowiedź IMO.
Twój katalog nie ma uprawnień do wykonywania, które są wymagane przez cd .
Naprawić:
Rekurencyjnie:
+ x dodaje atrybut wykonywalny. Zawsze możesz usunąć atrybut, wykonując -x
źródło