1

特定の電子メールに配信されている電子メールからすべての添付ファイルを Linux サーバーのパブリック フォルダーに抽出することができました (postfix->procmail->uudeview を使用)。残念ながら、ファイル自体は、ファイルが送信されたシステム ユーザーに制限されたアクセス許可で保存されます (「スキャン」と呼ばれます)。

"chmod 777 /path/to/folder/*.pdf" をセットアップに組み込むにはどうすればよいですか? ファイル (スキャナーから来るファイル) を誰でも利用できるようにするにはどうすればよいですか?

これを行うより良い方法はありますか?

よろしくフランク

4

1 に答える 1

2

あなたがしていることは何であれ、chmod 777あなたのコンピューターの運転免許証を失うほどに間違った方向に向けられています。ファイルを誰でも書き込み可能にして実行可能にすることは、深刻なセキュリティ上の問題です。

UMASKおそらく Procmail の変数を探しているでしょう。UMASKパーミッションが厳しすぎる場合は、配信前により緩く設定してください。例:

:0
* some conditions
{
    UMASK=003
    :0
    | uudeview --whatever
}

umaskシステム コールは権限を削除することしかできず、権限を追加することはできません。通常、C プログラムはモード0666を使用してデータ ファイルを作成しようとし、次にumaskが適用され、多くの場合、次のような結果が得られます0644(つまり、効果的なものはまたはのumaskようなものでした)。Linux では、ディレクトリのアクセス許可も、新しく作成されたファイルのアクセス許可に多少影響します。しかし、ここでは Procmail の外に出ようとしています。おそらく、Procmailの機能とディレクトリのアクセス許可を組み合わせることで、必要な最終結果を得ることができます。00220033UMASK

uuencode抽出する「添付ファイル」がMIME添付ファイルではなく実際の. begin行が言う場合は、644それを変更する必要があるかもしれません. Procmail が再び救出に向かいます!

:0
* some conditions
{
    UMASK=003
    | sed 's/^begin [0-7][0-7][0-7][0-7]* /begin 664 /' | uudeview --whatever
}

最終的に、これでも解決しない場合はuudeview、おそらくそのソースを微調整するか、書き込み後にパーミッションを修正するラッパーを作成することによって、 を変更することになるかもしれません。

于 2014-03-11T07:46:27.370 に答える