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