附件的ripmime权限

时间:2012-06-07 14:37:02

标签: file-permissions procmail umask

我们正在使用ripmime与Procmail将电子邮件内容提取到文件中。当提取电子邮件正文(文本)时,ripmime正确地使用配置的procmail UMASK(022)作为文件,但是当有附件时,它会使用077 umask为附件创建文件。以下是ripmime为一封带有“testTrades2.csv”附件的电子邮件创建的文件示例:

-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

以下是如何在procmail rc文件中调用ripmime:

| ripmime -i - -d /tmp

为什么“testTrades2.csv”具有与textfile *文件不同的权限,有没有办法让它使用相同的UMASK?

我们正在使用ripmime v1.4.0.9。

感谢, 大卫

2 个答案:

答案 0 :(得分: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维护者。

答案 1 :(得分:-1)

:0:
* ^From.*xxx@xxx.ru

{

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

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

}