Я пытаюсь выполнить сценарий псевдонима sendmail, используя этот
# aliases for my system
addressx: |sh /usr/share/scripts/myscript.sh WON'T WORK
addressx: '/usr/share/scripts/myscript.sh' WON'T WORK
addressx: '|/usr/share/scripts/myscripts.sh' WON'T WORK
Могу ли я выполнять скрипты или это должен быть двоичный файл?
Sendmail использует ограниченную оболочку для выполнения. Вы должны поместить программы, которые Sendmail может выполнять, в каталог / etc / smrsh. Вы можете узнать больше об этом Вот.
Вы, конечно, также должны убедиться, что бит выполнения установлен соответствующим образом в этом скрипте и что он доступен для чтения всем (но не доступен для записи).
В P=
equate показывает, какая оболочка используется для доставки по трубопроводу. Обычно это либо /usr/bin/smrsh
или /bin/sh
. Вы должны использовать тот, который соответствует вашим потребностям. /bin/sh
менее привередлив, но менее безопасен. /usr/bin/smrsh
более безопасен, но имеет правила.
Вам не нужно делать что-то вроде |sh myscript.sh
, оболочка определяется в конфигурации sendmail.
Вы можете выполнять сценарии, а также двоичные файлы, BTW.