it-roy-ru.com

Как сделать так, чтобы все файлы в каталоге были доступны для чтения в Linux?

Я хочу, чтобы все файлы (и каталоги) в определенном мире каталогов были доступны для чтения без необходимости изменять каждый файл самостоятельно. было бы замечательно, если бы была возможность сделать это рекурсивно (посмотрите под папками и chmod 666 все файлы под ним)

23
Rorchackh

man 3 chmod содержит информацию, которую вы ищете.

chmod -R +r directory

опция -R указывает chmod работать рекурсивно.

29
user529758

Поскольку каталог может содержать ссылки и/или привязывать монтирования, использование find может обеспечить наилучшую детализацию того, что делать, а что не делать ....

find directory \( -type f -o -type d \) -print0 |
    xargs -0 chmod ugo+r

Чтобы исключить пути под точками монтирования:

find directory -mount \( -type f -o -type d \) -print0 |
    xargs -0 chmod ugo+r

Чтобы исключить некоторые конкретные файлы (.htaccess для образца): 

find directory \( -type f -o -type d \) ! -name '.htaccess' -print0 |
    xargs -0 chmod ugo+r
9
F. Hauri
1
0x90