четверг, 30 июня 2011 г.

umask 02 или как начать писать блог

Ни в чем нельзя достичь совершенства. Довольно спорное заявление, не правда ли? Однако для меня это стало открытием( и возможно, в какой-то степени путем развития). До этого мгновения я всегда старался сделать лучше чем могу, из кожи вон лез и напрягался. Теперь все. Хватит.

К делу. Постановка задачи: есть рельс приложение, в котором паперклипом сохраняются вложения. Вложения на файловой системе имеют вполне понятные и объяснимые права:
drwxr-xr-x  3 deploy www 4096 2011-02-24 15:26 8

Далее понадобилось добавлять вложения, доставая файлы из входяшего письма. Для этого на постфикс навешивался фильтр, вызывающий скрипт с вызовом рельсового ресивера. Почему так - тема отдельная. Так вот, при загрузке вложений именно таким способом, права на папку имели другой вид:
drwx------  3 deploy www 4096 2011-01-21 09:49 1107
что не позволяло открывать файл из сайта

Решение оказалось простым и тривиальным, но требующим запоминания на будущее: в скрипт, который дергается постфиксом добавляется umask 02. После этого файлы сохраняются с нужными правами