Во-первых, я хотел бы подтвердить существующие ответы: Как говорит UweBurger, один использует * для общего шаблона в Ubuntu (или, я считаю, Unix вообще). (Возможно ли, что directory в вашем примере пуст, вызывая ошибку chmod: cannot access ‘directory/*’: No such file or directory?) Как предложил северный брэдли, в chmod можно использовать флаг R, чтобы он рекурсивно пересекал дерево, меняя разрешений всего под вашим текущим пунктом. То есть, используйте chmod -R directory, или если вам не хватает привилегий sudo chmod -R directory (однако, не забудьте случайно изменить права доступа к системным файлам при использовании sudo - chmod, у вашего собственного пользователя просто нет привилегий для этого, что делает первый вариант более безопасным).
Однако я хотел бы добавить, что вы, возможно, не захотите изменять права на каталоги так же, как и файлы. Как поясняется в официальной документации, разрешение на чтение (r) для каталогов означает возможность просмотра его содержимого (например, использование ls), разрешение записи (w) позволяет пользователю создавать / удалять файлы в его, и выполнить (x) разрешение на cd внутри. Здесь есть большой ответ, предлагающий метод для различения файлов и каталогов при рекурсивном применении новых разрешений. Предполагается, что вариант с использованием xargs быстрее. Возможно, вы захотите добавить флаг r в xargs, чтобы избежать ошибки, если find ничего не возвращает, и если вам нужны привилегии root, вы должны использовать sudo для обеих половин трубы (опять же, упражнение если chmod ing как root), так что это будет:
sudo find [путь / to / dir] -тип d -print0 | sudo xargs -0r chmod [желательно-dir-разрешения] sudo find [путь / to / dir] -тип f -print0 | sudo xargs -0r chmod [прав доступа к файлам], где [desired-*-permissions] может быть предоставлена официальная документация (777) или с использованием букв (например, a+x).