Date: Thu, 4 Oct 2007 10:16:07 +0200 From: Erik Trulsson <ertr1013@student.uu.se> To: Ian Smith <smithi@nimnet.asn.au> Cc: freebsd-questions@freebsd.org, Lisa Casey <lisa@jellico.com> Subject: Re: FreeBsd e-mail question Message-ID: <20071004081607.GA65363@owl.midgard.homeip.net> In-Reply-To: <Pine.BSF.3.96.1071004163422.4333B-100000@gaia.nimnet.asn.au> References: <20071004002231.CF6ED16A4A0@hub.freebsd.org> <Pine.BSF.3.96.1071004163422.4333B-100000@gaia.nimnet.asn.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 04, 2007 at 04:56:35PM +1000, Ian Smith wrote: > On Wed, 3 Oct 2007 16:30:54 -0400 Lisa Casey <lisa@jellico.com> wrote: > > > The problem comes in when a customer cancels his account. We remove users by > > rmuser username. That command removes the user from the password file, > > removes his home directory and removes the mailspool. What it doesn't do is > > to remove the .username.pop file associated with that mailbox. This isn't a > > problem unless we add another account with the same username. The new > > account cannot pop his mail because he gets the following error messge: > > > > -ERR [SYS/PERM] Temporary drop /var/mail/.jjvc.pop not owned by jjvc. > > > > If I take a look at /var/mail/.jjvc.pop it isn't owned by anyone, the > > ownership of the file is the group number of the original jjvc. > > > > -rw-rw---- 1 1473 mail 0 Sep 11 19:15 > > .jjvc.pop > > > > Is there anyway to have rmuser remover the mail drop file associated with > > that account also, or am I just going to have to remove these manually? > > I've read this whole thread, and what's strange is that this used to > work. I just checked our old FreeBSD 2.2.6 system where rmuser always > cleaned up /var/mail/.{$user}.pop properly. Its /usr/sbin/rmuser had: > > # Remove some pop daemon's leftover file > $file = "$mail_dir/.${login_name}.pop"; > if (-e $file || -l $file) { > print STDERR "Removing pop daemon's temporary mail file ${file}:"; > unlink $file || > print STDERR "\n${whoami}: Warning: unlink on $file failed ($!) - continuing\n"; > print STDERR " done.\n"; > } > > So I wonder whether it's a bug - or maybe a later popper update? - that > has the present version of rmuser looking for ${MAILSPOOL}/${login}.pop > instead? As far as I can tell the change was introduced back in 2002 when rmuser was changed from a Perl program into a shell script - presumably as part of the process of removing Perl from the base system. FreeBSD versions 2.2 - 4.11 used the Perl version of rmuser, while all 5.x and 6.x releases have used the shell script version. I have no idea if the difference - if the file rmuser looks for has a leading '.' in the filename or not - was deliberate or simply a mistake, but I suspect the latter: it is the kind of thing that is very easy to miss when rewriting a program in another language. -- <Insert your favourite quote here.> Erik Trulsson ertr1013@student.uu.se
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071004081607.GA65363>