Скрипт Procmail создает файлы с неожиданными правами на чтение / запись

Работая под CentOS 6.5, у меня есть рецепт procmail, который вызывает Perl-скрипт, который обрабатывает почту, адресованную reguser, и записывает файл наподобие:

my $text = "Text generated from incoming mail";
my $filename = "test.txt";
open(FILE, ">" . $filename) or die "Can't open file $filename";
print FILE $text;
close FILE;

Когда этот файл создается при запуске скрипта из Procmail, только root имеет права на чтение / запись, например

-rw------- 1 regusr regusr     33 Sep 12 22:40 test.txt

Эти разрешения кажутся немного произвольными. Когда мой Perl-скрипт запускается из командной строки как regusr, я получаю разрешения вроде:

 -rw-rw-r-- 1 regusr regusr    33 Sep 14 14:22 test.txt

Почему есть разница?

1 ответ

Решение

Ааа, UMASK ... Я не думал об этом. В.procmailrc UMASK=077 не имел никакого эффекта, но UMASK=003, казалось, имел желаемый эффект, особенно маскируя запись и выполнение для других пользователей. Я только что нашел в документации Procmail "Если не указано, umask по умолчанию 077" pm-doc.sourceforge.net/doc/#variable_umask

Другие вопросы по тегам