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??? →

02.10.2012 · 90 камментов · рейтинг 19.42
27.06.2012 · 37 камментов · рейтинг 12.11
28.04.2008 · 44 каммента · рейтинг 9.75
23.01.2013 · 20 камментов · рейтинг 9.47
29.08.2007 · 28 камментов · рейтинг 7.51

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

21.05.2017  Vadim GukОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Большое спасибо за решение задачи.
20.05.2017  ДмитрийТестовое задание для PHP-программиста (Junior): А джуны ещё нужны у вас в компании?
18.04.2017  ДубрОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Вячеслав, блин, я там скобку потерял =) Обновил, ...
17.04.2017  Вячеславтам же: вот http://www.totalat.ru/service/remont-akpp-bmw/
17.04.2017  Вячеславтам же: Вашу версию вставил. Даже alert проверочный вывод...

Статсы