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 камментов · рейтинг 8.6
23.01.2013 · 21 каммент · рейтинг 6.68
06.03.2008 · 29 камментов · рейтинг 6.36
29.08.2007 · 28 камментов · рейтинг 6.14
30.01.2013 · 13 камментов · рейтинг 5.26

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

10.05.2022  АртурЯндекс - калькулятор онлайн, в поиске, встречайте!: А зачем корея Кон Ю Ы почему корейская буква?
10.05.2022  Ра 3 поезд автобус рельсовуютам же: У меня телефон номер только KTX +569 5411 3256 65 55
10.05.2022  Артур Жопатам же: 2545579542465463154668721
10.05.2022  Артур Кадыровтам же: ОООООО!!!!! :О Привет! Кон Ю Ы У меня нормально я ...
10.05.2022  Кон Ютам же: У меня зовут Кон Ю ы Как дела?

Статсы