Если у вас нет полного понимания по теме прав доступа в unix-системах, советую для начала ознакомиться с моей предыдущей статьей: «Права доступа в Linux/Unix для начинающих«.
Предположим, вы загрузили по FTP или перенесли с другого сервера большую папку с кучей файлов и вложенных папок. Если веб-сервер работает от имени «анонимного» системного пользователя, то возникнут проблемы с записью в эти папки и файлы из ваших скриптов. Решение простое: используя комбинацию unix-команд find и chmod, установить для папок права доступа 777, а для файлов — 666. Вот как это делается для папок (сначала командой cd переходим в нужную папку, в команде find мы задаем, что работаем с текущей папкой и всеми вложенными):
1 |
find ./ -type d -exec chmod 777 {} \; |
и для файлов:
1 |
find ./ -type f -exec chmod 666 {} \; |
Разберем различия в этих командах. После -type для папок стоит d («directory»), то есть ищем все директории, а для файлов — f («file»). Затем идет параметр -exec, после которого мы и ставим команду, которую нужно выполнить для каждого найденного файла (вместо имени — {}).