lindberg@cs.chalmers.se (Gunnar Lindberg) (11/09/89)
My personal guess: In SunOS 4.0 /bin/mail is setuid(root) but it performs a setuid(user) before writing to /usr/spool/mail/user and thus no NFS problem. The HP:s (just like BSD VAX:en) have /bin/mail setuid(root) but without the extra setuid(user) before writing. NFS converts "root" to "nobody" - and the write() fails. Now, the Sun solution works well in an NFS environment, but requires /usr/spool/mail to be rwxrwxrwx - I don't like that! The BSD solution, on the other hand, protects /usr/spool/mail but does not work well with NFS... Nice, isn't it :-). I would suggest the following work-around: + Make all clients that NFS-mount /usr/spool/mail send *all* mail (including $#local) to the NFS-server (/usr/spool/mail). + On that server you do all writing to /usr/spool/mail and if you use a BSD-/bin/mail you can protect /usr/spool/mail in the way you find convenient (if you have a Sun-/bin/mail the setuid(user) still prevents that - but that's another story). If the server is down, but your client is up, that situation is taken care of in the standard SMTP way - you don't rely on any NFS magic to handle it for you. The only drawback is that you get some extra SMTP-traffic between server and clients; if that's worse the the corresponding amount of NFS I don't know. Gunnar Lindberg