Dubrowsky
Хроники одного дупла
Блогово  →  WebDev  → 

Переезжаем на другой сервер, часть 6 (права - рекурсивный chmod)

28 Февраля 2012 года

Продолжаю красноглазую телегу про перетаскивание шмотья на новый сервер. Теперь - про права.

Как я уже сказал, при переносе файлов, несмотря на обещания википедии, права сохранились через раз. Сразу после переноса это было не очень заметно. А когда я и разные клиенты стали пытаться пользоваться админками - полезли косяки.

По счастью, хранение файлов у меня организовано однотипно и не очень хитро - есть папка, в которой вложены директории под каждую пару "тип-поле", для которой нужны файлы. Например "превьюшки для новости" лежат в одной папке, а "аватарки для юзеров" - в другой.

Обычно таких вариантов не шибко много и все можно расставить руками. Но вот есть у меня монстр-магазин с несчетными тыщами товаров, для которого ручной вариант не проканал - тупо вис WinSCP при попытке выделить все файлы.

Нашел, что у команды chmod есть опция -R, выставляющая заданные права рекурсивно для всего, что ей попадется. Косяк состоял в том, что у нас есть много файлов и много папок, и права у них должны быть разные, всадить всем тупо 777 - не вариант.

За решением обратился к админу Диме. Дима погудел админскими извилинами, и-таки разродился решением (недаром значение имени дмитрий - "плодородный" :)). Так вот, можно получить все содержимое директории командой find (в т.ч. глубокие уровни), выбрать из результата записи нужного типа (файл/папка), и уже к ним применить права при помощи chmod.

Сделать все файлы в директории и субдиректориях доступными для записи всем:

find . -type f -exec chmod 666 {} \;

Сделать все поддирекктории доступными для записи всем:

find . -type d -exec chmod 755 {} \;

Дешево и сердито, чо :)

Камменты

nikello25.12.2012, 16:20#
А не легче так?
chmod -R go=rwX,u=rwX .
Дуброн самый25.12.2012, 17:58#
nikello, так легче, да - но менее очевидно. К тому же find дает больше возможностей поиска.

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

27.06.2012 · 37 камментов · рейтинг 10.02
15.02.2013 · 24 каммента · рейтинг 8.45
23.01.2013 · 21 каммент · рейтинг 7.87
29.08.2007 · 28 камментов · рейтинг 6.76
28.03.2008 · 24 каммента · рейтинг 6.42

Последне камменты

12.10.2019  6THFV6ZDSU0J 6THFV6ZDSU0J 6THFV6ZDSU0J www.yandex.ruДинамическая отправка формы с файлом в IE (ajax file upload + form.submit): S5yizZQjiS9
26.09.2019  5ZQMBL3RXY98 5ZQMBL3RXY98 5ZQMBL3RXY98 www.yandex.ruтам же: xwWbT1nO
26.09.2019  AT8LJX8SMJPE AT8LJX8SMJPE AT8LJX8SMJPE www.yandex.ruПочему не работает form.submit(): OuQnxIU8HYE
24.09.2019  2SSUSLMI 2SSUSLMI 2SSUSLMI www.yandex.ruтам же: 1DaGyZzh5
04.05.2019  Brian Fargoтам же: Спасибо. Все на поверхности, но фиг вкуришь с лету...

Статсы