Email sent from "at" command going to the wrong account

Eugene Grosbein eugen at eg.sd.rdtc.ru
Wed Dec 16 06:13:36 UTC 2009


Holger Kunst wrote:
> Hi,
> 
> The "at" command sends an email with the output of the scheduled job. 
> I've experienced inconsistent results when running jobs, receiving 
> emails in accounts not associated with the user currently logged in.
> 
> To reproduce in FreeBSD 7.2-RELEASE-p2
> 
> Case #1
> login as user a (new shell through ssh)
> echo "echo 1" | at now
> --> user a will receive an email containing "1" - this is as expected
> 
> Case #2
> login as user a (new shell through ssh)
> login as user b
> exit
> echo "echo 1" | at now
> --> user b will receive an email containing "1" - this is not as 
> expected, since I am user a again
> 
> A look at the source for "at" reveals that "at" is getting the mailname 
> from getlogin(). Running a small test program that outputs getlogin(), 
> confirms the above behavior: A log-in and out of another account makes 
> getlogin() return that account's name, even though the shell has been 
> closed and we are back to the original shell and the original user a.
> 
> Is this the intended behavior? Any hints would be appreciated.

This is known long-standing bug. FreeBSD-4.9 was affected (may be earlier)
and all versions after it:

http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/61355

The PR has some kind of patch in the Audit-Trail.

Eugene Grosbein


More information about the freebsd-hackers mailing list