Estou acostumado com este comando de uma linha (recursivo a partir do diretório de trabalho atual)
find . -type d -exec chmod 0755 '{}' + -or -type f -exec chmod 0644 '{}' +
Explicação:
find . # starting in curdir find
-type d # any directory
-exec chmod 0755 '{}' # and chmod it to 755
+ # (variant of -exec look find man page)
-or # or
-type f # any file
-exec chmod 0644 '{}' # and chmod it to 644
+ # (as above)