mpirun (v1.0.1) sets the umask to 0, and hence creates world-writable output files. Interestingly, adding the -d option to mpirun makes this problem go away. To reproduce:
mpirun -np 1 --hostfile ./hostfile --mca pls_rsh_agent ssh ./a.out where a.out is compiled from: #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> int main () { printf("%.4o\n", umask( 022 ) ); return 0; }