Perl 执行sudo-u sbsh后的上一个用户名

Perl 执行sudo-u sbsh后的上一个用户名,perl,unix,sudo,Perl,Unix,Sudo,我使用系统作为“user1”,我使用sudo作为不同的用户,比如说“sudo-uuser2sbsh”,然后执行一个perl脚本 有没有办法在我正在运行的脚本中获取“user1” 我使用了ENV{'USER'}。但它给出了“user2”SUDO_USER'也不工作。请尝试$ENV{'SUDO_USER'} 例如: $ sudo perl -E 'say for $ENV{USER}, $ENV{SUDO_USER}' 当你使用SUDO_USER时,它会显示什么?@antoh我对SUDO一无所获_

我使用系统作为“user1”,我使用sudo作为不同的用户,比如说“sudo-uuser2sbsh”,然后执行一个perl脚本

有没有办法在我正在运行的脚本中获取“user1”


我使用了ENV{'USER'}。但它给出了“user2”SUDO_USER'也不工作。

请尝试
$ENV{'SUDO_USER'}

例如:

$ sudo perl -E 'say for $ENV{USER}, $ENV{SUDO_USER}'

当你使用
SUDO_USER
时,它会显示什么?@antoh我对SUDO一无所获_USER@BenjaminW. 我试过了。。获取root或user2或什么都没有。。但不是user1@BenjaminW. 它不是sujt sudo-u。。它是sudo-usbsh“user2”和“”。我的
sudo版本说
1.8.16
,根本没有“user1”。你的怎么说?1.8.6p7是我的