in reply to Why does getlogin always return same user name?

So why does getlogin think that "bernie" is logged into the controlling terminal on this remote server?

Because getlogin thinks so? Because your server is setup so the program runs under "bernie"?

  • Comment on Re: Why does getlogin always return same user name?

Replies are listed 'Best First'.
Re^2: Why does getlogin always return same user name?
by zBernie (Novice) on Jun 03, 2013 at 15:57 UTC

    It occurred to me that cvs might be running as "bernie", but I can find nothing which would execute /usr/bin/cvs as "bernie". I checked file ownerships, setuid, /etc/pam.d, etc.

    Even stranger getpwuid($<) returns the correct UID, and so does $ENV{USER}. I added a statemt to print to a log below, which produces output like this:

    user = bartonbf, pwuid = john01, ENV{USER} = john01

    sub attach { boundary(@_); # Get the date (UTC). my @gm = gmtime; $gm[5] += 1900; $gm[4] += 1; # Get the username. my $user = getlogin || getpwuid($<) || "unknown"; my $pwuid = getpwuid($<); open LOG, ">>/tmp/bblog"; print LOG "user = $user, pwuid = $pwuid, ENV{USER} = $ENV{USER}\n"; close LOG; # Return the attachment headers. local $" = ''; return qq{ --$opt_a Content-Disposition: attachment; filename=$user-@gm[5,4,3,2,1,0]-diff. +txt Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=$opt_C }; }