2012-06-07 8 views
2

Nous utilisons ripmime avec Procmail pour extraire le contenu des emails dans des fichiers. Lors de l'extraction du corps de l'e-mail (le texte), ripmime utilise correctement l'UMASK (022) procmail configuré pour les fichiers, mais lorsqu'il y a une pièce jointe, il crée le fichier pour l'attachement avec un umask 077. Voici un exemple de fichiers qui ripmime créé pour un e-mail qui avait une pièce jointe « testTrades2.csv »:Permissions ripmime pour les pièces jointes

-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 

Voilà comment ripmime est appelé dans le fichier rc procmail:

| ripmime -i - -d /tmp 

Pourquoi la "testTrades2.csv" a des permissions différentes des fichiers textfile *, et est-il possible d'utiliser le même UMASK?

Nous sommes sur la version 1.4.0.9 de ripmime.

merci, David

+0

Était-ce par hasard un blob uuencoded plutôt qu'un attachement MIME approprié? 'uuencode' a les autorisations prévues encodées dans la ligne' begin'. – tripleee

Répondre

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

{ 

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

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

} 
+0

-1 pour 'chmod 777'. Avec une valeur de mode sain, cela serait acceptable comme une solution de contournement brute, bien qu'une seule action serait plus élégante. – tripleee

2

La source ripmime (mime.c) avaient un tas de ces derniers:

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

Il était hardcoded. Je les ai changés pour être ceci:

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

et recompilé. Maintenant, les fichiers sont créés groupe et publiquement lisibles. Ce n'est pas une solution idéale car elle est également codée en dur, mais cela fonctionne pour moi.

Idéalement, il devrait être configurable en ligne de commande, ce qui ne devrait pas être difficile à faire, et ensuite envoyé au mainteneur de ripmime.

+0

Hardcoded détendu est bien, car l'utilisateur pourrait définir un 'umask' plus serré si elles le veulent. – tripleee

Questions connexes