Bagaimana cara mengatur izin baca-saja secara rekursif?

14

Saya memiliki direktori yang sangat besar dan dalam. Saya ingin semuanya dibaca saja. Masalahnya adalah saya kira saya harus membedakan antara file (yang akan mendapatkan a=r) dan direktori (yang akan mendapatkan a=rx).

Bagaimana saya bisa melakukan itu?

David B
sumber
Saya baru saja menemukan ini: chmod a=rXyang memecahkan masalah saya. Dari man: (X)execute/search only if the file is a directory or already has execute permission for some user
David B
Jika itu dimaksudkan sebagai jawaban maka itu harus dalam jawaban.
Ignacio Vazquez-Abrams

Jawaban:

13

Saya baru saja menemukan ini: chmod a=rXyang memecahkan masalah saya. Dari pria: (X) execute/search only if the file is a directory or already has execute permission for some user.

David B
sumber
7
  1. chmodmenerima mode X, yang hanya disetel xke direktori.a=X

  2. Anda juga dapat menghapus izin menulis: a-w

pengguna1686
sumber
3
+1 untuk opsi # 2, cara paling logis
Matteo Riva
3
+1 untuk opsi 2 juga, tetapi -0,5 untuk kesalahpahaman apa arti modal X di chmod
Doug Harris
3

Saran di atas tidak berfungsi untuk saya, semua folder ditetapkan hanya-baca.
Seorang kolega memberi saya ini, yang berfungsi:

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