Es posible que desee utilizar este truco:
{ anycommand } | su -c 'tee file' user
tee(1)
es la utilidad POSIX, por lo que puede confiar en su disponibilidad.
O, con sudo
:
{ anycommand } | sudo -u user 'tee file'
Usa una subcapa:(su -c 'psql -U postgres -c "<command>"' postgres) > file
Dentro de la subcapa, puede eliminar los permisos para hacer su trabajo, pero la salida se redirige a su caparazón original, que aún tiene sus permisos originales.