Solusi 1:
Ini seharusnya berhasil:
find /home/user -type d -print0 | xargs -0 chmod 0775
find /home/user -type f -print0 | xargs -0 chmod 0664
Solusi 2:
find dapat melakukan triknya sendiri dengan -exec:
find /home/user -type f -exec chmod 0664 {} \;
find /home/user -type d -exec chmod 0775 {} \;
untuk mencegah find memunculkan chmod untuk setiap entri:
find /home/user -type f -exec chmod 0664 {} +
find /home/user -type d -exec chmod 0775 {} +
(ini secara efektif memanggil chmod sekali dengan daftar semua file sebagai parameter daripada satu chmod per file)
Solusi 3:
Jawaban ini tidak akan menyelesaikan masalah Anda, tetapi seseorang mungkin menganggapnya berguna untuk masalah serupa di mana file memiliki izin lebih sedikit daripada yang seharusnya.
# chmod -R . u=rwX,g=rX,o=rX
Keajaiban adalah izin X, bukan x. Halaman manual chmod menjelaskannya sebagai berikut:
jalankan/cari hanya jika file tersebut adalah direktori atau sudah memiliki izin eksekusi untuk beberapa pengguna
Ini tidak cocok untuk kasus Anda karena file Anda memiliki izin eksekusi, jadi, akan cocok dengan pengujian kedua.