From owner-freebsd-current Thu Nov 16 9: 1:32 2000 Delivered-To: freebsd-current@freebsd.org Received: from smtpproxy1.mitre.org (mb-20-100.mitre.org [129.83.20.100]) by hub.freebsd.org (Postfix) with ESMTP id 69A3137B4E5 for ; Thu, 16 Nov 2000 09:01:25 -0800 (PST) Received: from avsrv1.mitre.org (avsrv1.mitre.org [129.83.20.58]) by smtpproxy1.mitre.org (8.9.3/8.9.3) with ESMTP id MAA05506 for ; Thu, 16 Nov 2000 12:01:22 -0500 (EST) Received: from mailsrv2.mitre.org (mailsrv2.mitre.org [129.83.221.17]) by smtpsrv1.mitre.org (8.9.3/8.9.3) with ESMTP id MAA01231 for ; Thu, 16 Nov 2000 12:01:21 -0500 (EST) Received: from mitre.org ([128.29.145.140]) by mailsrv2.mitre.org (Netscape Messaging Server 4.15) with ESMTP id G44NA800.0DU; Thu, 16 Nov 2000 12:01:20 -0500 Message-ID: <3A1412C1.96608727@mitre.org> Date: Thu, 16 Nov 2000 12:00:49 -0500 From: "Andresen,Jason R." Organization: The MITRE Corporation X-Mailer: Mozilla 4.75 [en]C-20000818M (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Garrett Wollman Cc: void , freebsd-current@FreeBSD.ORG Subject: Re: Proper permissons on /var/mail References: <20001116151809.A15312@firedrake.org> <200011161636.LAA83126@khavrinen.lcs.mit.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Garrett Wollman wrote: > > < said: > > > I have a similar problem -- every time I make world, perms on /var/mail > > get set to 775. Mutt considers my mailbox read-only until I change it > > to 1777. > > It is misconfigured (or perhaps just broken). 1777 mode for /var/mail > is insecure, but was necessary in the mists of ancient past, before > UNIX learned to do file locking. Unless your mail spool is shared > over NFS (don't do that), locking is reliable and .lock files should > never be used or relied upon. Not the FreeBSD's file locking works anyway. Here's the results from a test of the below program: (81 ~/bin/src): uname -a FreeBSD escaflowne.el.hazard 4.1.1-STABLE FreeBSD 4.1.1-STABLE #0: Sat Oct 14 18:59:16 EDT 2000 root@escaflowne.el.hazard:/usr/obj/usr/src/sys/ESCAFLOWNE i386 (82 ~/bin/src): ./testflock flock(2) is implemented, but not functional. And another test: %kenshin (1 ~): uname -a IRIX kenshin 6.5 01221642 IP20 %kenshin (2 ~): ./testflock flock(2) is fully functional. I hope I'm doing something wrong here, and that flock really does work on FreeBSD. #include #include #include #include #include #include #define TMPFILENAME "/tmp/testflock.out" #define MESSLEN 8 #define CHILDSTR "Child \n" #define PARENTSTR "Parent\n" int main( int argc, char** argv) { char message[MESSLEN]; int pid; int fd; int foo; fd = open(TMPFILENAME, O_WRONLY | O_CREAT, 0644); pid = fork(); if ( pid == 0 ) { strcpy(message, CHILDSTR); sleep(1); } else strcpy(message, PARENTSTR); flock(fd, LOCK_EX); lseek(fd, 0, SEEK_END); write(fd, message, MESSLEN - 1); sleep(2); lseek(fd, 0, SEEK_END); write(fd, message, MESSLEN - 1); flock(fd, LOCK_UN); close(fd); if ( pid != 0 ) { wait(&foo); /* Test the file, see if flock works */ fd = open(TMPFILENAME, O_RDONLY); read(fd, (void*)message, MESSLEN - 1); /* Discard first */ read(fd, (void*)message, MESSLEN - 1); if (! strcmp(message, CHILDSTR)) printf("flock(2) is implemented, but not functional.\n"); else printf("flock(2) is fully functional.\n"); close(fd); } return 0; } -- _ _ _ ___ ____ ___ ______________________________________ / \/ \ | ||_ _|| _ \|___| | Jason Andresen -- jandrese@mitre.org / /\/\ \ | | | | | |/ /|_|_ | Views expressed may not reflect those /_/ \_\|_| |_| |_|\_\|___| | of the Mitre Corporation. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message