Jak mogę rekurencyjnie ustawiać uprawnienia tylko do odczytu?

14

Mam bardzo duży i głęboki katalog. Chciałbym, aby wszystko to było tylko do odczytu. Problem polega na tym, że muszę rozróżniać pliki (które otrzymają a=r) i katalogi (które otrzymają a=rx).

Jak mogę to zrobić?

David B.
źródło
Właśnie to znalazłem: chmod a=rXco rozwiązuje mój problem. Od man: (X)execute/search only if the file is a directory or already has execute permission for some user
David B
Jeśli to ma być odpowiedź, powinna być w odpowiedzi.
Ignacio Vazquez-Abrams

Odpowiedzi:

13

Właśnie to znalazłem: chmod a=rXco rozwiązuje mój problem. Od mężczyzny: (X) execute/search only if the file is a directory or already has execute permission for some user.

David B.
źródło
7
  1. chmodakceptuje tryb X, który ustawia tylko xkatalogi.a=X

  2. Możesz także po prostu usunąć uprawnienia do zapisu: a-w

użytkownik1686
źródło
3
+1 dla opcji nr 2, najbardziej logiczny sposób
Matteo Riva
3
+1 dla opcji 2 również, ale -0,5 za nieporozumienie, co oznacza X w chmod
Doug Harris
3

Powyższe sugestie nie działały dla mnie, wszystkie foldery zostały ustawione tylko do odczytu.
Kolega dał mi to, co działa:

find . -type f -exec chmod a-w {} \;
Odd Erik Paulsen
źródło
1
find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)
Ignacio Vazquez-Abrams
źródło