postfixでcommandにaliasしたいとき、commandの実行ユーザを変更するには
postfixのaliasに "|/path/to/command" とかやればcommandの標準入力にメールを渡して処理ができるが、このcommand, nobodyで実行される。
別のユーザで実行したい場合はどうしたらいいんだろうと悩んでいたが、:includeを使う方法でできるらしい。
aliasに :include:/path/to/file と書いておいて、/path/to/fileの中身にコマンドを書いておく。
そして /path/to/fileのownerをコマンドを実行したいユーザにしておく。
これだけで実現できる。
※ただしmain.cfで allow_mail_to_commands = alias,forward,include と書いておく必要あり。
sudoとか su -c とか調べていたけど上のやり方が一番簡単だ。(sudoはttyがないと実行できないと怒られた。。)