У меня есть скрипт, который обычно должен перезагружать Postfix, но я получил отказ в разрешении на /../../reload.pl 11.
А вот мой perl-скрипт:
#!/usr/bin/perl -w
#
# Script Name : reload postfix
# version : v1.0
#
$ENV{PATH} = '/usr/bin';
print $<." ".$>;
# Relaod postfix (opt)
system('/etc/postfix reload');
Результат:
0 0
Can't exec "/etc/postfix": permission denied at /../../reload.pl 11
Решение состоит в том, чтобы указать полный путь для выполнения postfix cmd:
$ENV{PATH} = '/usr/sbin';