Я протестировал Postfix 2.7.1-1 (Debian), и ни одна из них не работает так, как вы описали. cat
не казнен. (И, честно говоря, я не могу представить никакой возможной причины, почему sendmail
выполнял бы произвольную часть своего аргумента только потому, что он произнес « cat
».)
Конечно, если вы strace
в sendmail
процесс, вы можете увидеть файл /etc/passwd
и т.д. / пароль является open()
ред, но это совершенно нормально: sendmail
запрашивает реальное имя вашей учетной записи, для того , чтобы заполнить From:
заголовок правильно.
Но strace
не показывает никаких вызовов exec*()
, за исключением того, который запускает сам sendmail
.
Если вы все еще верите, что это ошибка,
вместо этого попробуйте совершенно не связанный файл:
sendmail cat/etc/fstab
Здесь fstab
- это то, что обычно никогда не читается.
убедитесь, что sendmail
не является псевдонимом или функцией оболочки:
$ type sendmail
sendmail is /usr/sbin/sendmail
И обновить Postfix.
(да, он старый, но все же ...)
Никогда не жалуйтесь на ошибки в старых версиях программного обеспечения, если вы не подтвердили, что они присутствуют и в абсолютно последней версии.