Скрипт 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