2012-06-07 6 views
2

Мы используем ripmime с Procmail для извлечения содержимого электронной почты в файлы. При извлечении эмулирующего тела (текста) ripmime правильно использует настроенный procmail UMASK (022) для файлов, но когда есть вложение, он создает файл для прикрепления с 077 umask. Вот пример файлов, ripmime создан для одного адреса электронной почты, который имел «testTrades2.csv» прикрепление:ripmime разрешения для вложений

-rw-r--r-- 1 fsdevprod fsdevprod  2341 2012-06-07 06:36 textfile4 
-rw-r--r-- 1 fsdevprod fsdevprod  19 2012-06-07 06:36 textfile3 
-rw-r--r-- 1 fsdevprod fsdevprod  294 2012-06-07 06:36 textfile2 
-rw-r--r-- 1 fsdevprod fsdevprod  573 2012-06-07 06:36 textfile1 
-rw-r--r-- 1 fsdevprod fsdevprod  0 2012-06-07 06:36 textfile0 
-rw------- 1 fsdevprod fsdevprod  66 2012-06-07 06:36 testTrades2.csv 

Вот как ripmime вызывается в файле Procmail гс:

| ripmime -i - -d /tmp 

Почему «testTrades2.csv» имеют разные разрешения от файлов textfile *, и есть ли способ использовать один и тот же UMASK?

Мы находимся на ripmime v1.4.0.9.

спасибо, Дэвид

+0

Был ли это случайным образом, а не надлежащим MIME-приложением? 'uuencode' имеет назначенные разрешения, закодированные в строке' begin'. – tripleee

ответ

-1
:0: 
* ^From.*[email protected] 

{ 

:0 c: 
| ripmime -i - --no-nameless -d $MAILDIR/xxx 

:0: 
| chmod 777 $MAILDIR/xxx/* 

} 
+0

-1 для 'chmod 777'. При значении разумного режима это было бы приемлемо в качестве грубой обходной ситуации, хотя одно действие было бы более элегантным. – tripleee

2

ripmime источник (mime.c) была связка из них:

open(fullpath, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR); 

Так это было жёстко. Я изменил их так:

open(fullpath, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); 

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

В идеале это должна быть конфигурация командной строки, которая не должна быть трудной задачей, а затем отправляется в службу поддержки ripmime.

+0

Hardcoded relaxed отлично, так как пользователь может установить более жесткую 'umask', если захочет. – tripleee