Le directory richiedono l'autorizzazione di esecuzione impostata per visualizzarne il contenuto.
Da http://content.hccfl.edu/pollock/AUnix1/FilePermissions.htm
Si può pensare di lettura ed esecuzione sulle directory in questo modo: le directory sono file di dati che contengono due pezzi di informazioni per ogni file all'interno, il nome del file e il suo numero di inode. È necessaria l'autorizzazione di lettura per accedere ai nomi dei file in una directory. È necessario il permesso Execute (a.k.a. search) per accedere agli inode dei file in una directory, se si conosce già il nome del file.
Quando si modifica un'autorizzazione di directory su 644, non è possibile leggere i file in tale directory sebbene sia possibile leggere tale directory per vederla esistente.
Hai bisogno di fare questo:
$ chmod -R 0755 .
Un modo migliore potrebbe essere quella di utilizzare il permesso stringa se si vuole semplicemente disattivare
In caso contrario, si può vedere la directory, ma non accedere alle informazioni in quella directory.
È forse meglio utilizzare le autorizzazioni relative al posto di permessi assoluti:
$ chmod -R go-w .
rimuoverà il permesso di scrittura dal gruppo e altri, ma non toccare i permessi di esecuzione.
È inoltre possibile utilizzare find
solo per impostare le directory o semplicemente per impostare i file:
$ find . -type d -exec chmod 755 {} \;
Questo toccherà solo directory, l'impostazione di lettura ed esecuzione autorizzazioni per tutte le directory e l'impostazione il permesso di scrittura per il proprietario. In questo modo, non stai impostando il permesso di esecuzione sui file stessi.
fonte
2013-04-04 01:09:43
Prova 'sudo chmod -R 0644 .'. – Blender
'sudo !!' dopo che non è riuscito. – alex
@Blender: 'sudo chmod -R -644 .' rimuoverà il permesso di esecuzione (ricerca) dalla directory corrente e tutte le directory sottostanti - non è una buona idea. –