У меня есть папка под названием Фильмы с подпапками по имени Movie1, Movie2 и т.д. и затем фильм в том подкаталоге. Пример ниже:
Movies:
Movie1
film.whatever1
Movie2
film.whatever1
Movie3
film.whatever1
Movie4
film.whatever1
Movie5
film.whatever1
Я хочу полномочия быть 755 для каталогов так, чтобы любой мог перейти вниз к папкам Movie1-5 (единственная причина, которая это 755, а не 744 то, потому что выполнить бит требуется, чтобы изменяться в каталог). Но я хочу, чтобы все film.whatever1-5 файлы были только для чтения. Я не могу ни за что в жизни выяснить, возможно ли это.
Я пытался сделать это использование команды setfacl с верхним регистром X как показано ниже:
setfacl -R -d -m u::rwx Movies
setfacl -R -d -m g::r-X Movies
setfacl -R -d -m o::r-X Movies
setfacl -R -m u::rwx Movies
setfacl -R -m g::r-X Movies
setfacl -R -m o::r-X Movies
Результат состоял в том, что это изменило папку и файлы ОБОИМ быть исполняемым файлом. Это - очень раздражающая проблема, которую я должен решить.
Можно использовать find
выполнять различные команды на регулярных файлах и каталогах путем фильтрации их с -type
опция. Это работает рекурсивно на всем внутри ./Movies
:
# all directories become 755 (rwx r-x r-x):
find ./Movies -type d -exec chmod 755 '{}' \;
# all files become 644 (rw- r-- r--):
find ./Movies -type f -exec chmod 644 '{}' \;