Как рекурсивно установить разрешения только для чтения?

Как рекурсивно установить разрешения только для чтения?

У меня очень большой и глубокий каталог. Я хотел бы сделать его весь доступным только для чтения. Проблема в том, что, как я полагаю, мне нужно различать файлы (которые получат a=r) и каталоги (которые получат a=rx).

Как мне это сделать?

решение1

Я только что нашел это: chmod a=rXчто решает мою проблему. От человека: (X) execute/search only if the file is a directory or already has execute permission for some user.

решение2

  1. chmodпринимает режим X, который устанавливает только xкаталоги.a=X

  2. Вы также можете просто удалить разрешение на запись:a-w

решение3

Предложения выше не сработали для меня, все папки были установлены только для чтения.
Коллега дал мне это, это работает:

find . -type f -exec chmod a-w {} \;

решение4

find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)

Связанный контент