para o material programático, você deve estar ciente de qual UID os programas / scripts serão executados.
Para o postfix, por exemplo, os scripts executados em / etc / aliases (ou qualquer outro arquivo de aliases de propriedade da raiz) serão executados como o usuário 'nobody'.
o postfix tem a capacidade de ter vários arquivos de aliases e (aqui está a parte boa) que os programas executados a partir de um arquivo aliases serão executados como o usuário que possui esse arquivo (exceto root - como mencionado anteriormente, os arquivos aliases de root são correr como ninguém).
Se você precisar executar um script de e-mail como root, a maneira mais fácil (se você tiver o sudo instalado) é configurar o sudo para permitir que 'nobody' o rode como root sem uma senha e o execute a partir de um wrapper script que o executa com o sudo.
OBSERVAÇÃO: sempre que disparar scripts de e-mail, você deve lembrar que os dados (ou seja, o e-mail) são de uma fonte não confiável (a internet) .... por isso é extremamente inseguro usar os dados do corpo ou o cabeçalho como argumentos para comandos executados pelo script. Este é basicamente o mesmo problema que confiar em dados fornecidos pelo usuário em um script CGI - apenas não faça isso. por exemplo. considere o que um script mal escrito poderia fazer se os dados fornecidos pelo usuário fossem algo como "... innocuousdatahere ...; rm -rf /". você pode pensar que seria fácil checar coisas óbvias como ponto-e-vírgula e removê-las, mas há muitas coisas não óbvias que você precisa verificar também e você estaria se preparando para um fracasso, já que é improvável que você pense ou capture todos. É muito mais seguro eliminar totalmente o risco de segurança simplesmente não confiando nos dados fornecidos pelo usuário.
isso é importante, não importa qual UID o script será executado, mas é especialmente importante quando / se estiver sendo executado como root.
Finalmente, para responder a uma de suas perguntas diretas, o procmail ainda é uma ferramenta útil para o que você deseja fazer. como é maildrop e outros programas semelhantes. pense no procmail etc como ferramentas especializadas para analisar o corpo e os cabeçalhos para tomar decisões sobre o que fazer, assim você não precisa ter todo esse código de análise em seus scripts. escreva seu script para fazer seu trabalho e use o procmail para decidir quando o script deve ser executado. por exemplo, você poderia criar um novo usuário chamado, digamos, 'mailjobs', que possui seu próprio diretório home e o arquivo .procmailrc. em seguida, crie aliases que encaminham e-mails para esse usuário. mailjobs '.procmailrc então checaria o cabeçalho X-Original-To para decidir que script (s) executar (em).