Skip site navigation (1)Skip section navigation (2)
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>