Поскольку вам нужны разные разрешения для файлов (чтение и запись )и каталоги (чтение и выполнение ), я бы рекомендовал использовать две отдельные команды вместо того, чтобы пытаться объединить их в одну. Подстановочный знак *
будет соответствовать файлам и каталогам.
Во-вторых, разрешение X
добавляет "выполнить"...
if the file is a directory or already has execute permission for some user
... поэтому, если файл был запущен с каким-либо (пользователем, группой или другим )разрешением на выполнение, то в конечном итоге он будет иметь права на выполнение.
Рассмотрим две отдельные команды:
find /base/path -type d -exec chmod u+rx,g+rx,o+rx {} +
и
find /base/path -type f -exec chmod u-x+rw,g-x+rw,o=r {} +
Настройте наборы разрешений в соответствии с собственными политиками; вышеуказанные команды: