Работая под 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 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .