在这种情况下,在Perl中做什么?

agl*_*man 4 syntax perl cgi

我很困惑第二行在这段代码中做了什么.我认为$ runas应该评估给用户的uid.$ <做什么?这包含在CGI脚本中.

my $runAS = (getpwnam("username"))[2];
$runAS = $< if ($runAS == 0);
Run Code Online (Sandbox Code Playgroud)

vst*_*stm 12

$<是perl中的一个特殊变量:

这个过程真正的uid.您可以使用POSIX :: setuid()同时更改real uid和有效uid.由于更改$ <需要系统调用,请检查$!更改后尝试检测任何可能的错误.


小智 6

来自http://perldoc.perl.org/perlvar.html

$<
Run Code Online (Sandbox Code Playgroud)

这个过程真正的uid.您可以使用POSIX :: setuid()同时更改real uid和有效uid.由于更改$ <需要系统调用,请检查$!更改后尝试检测任何可能的错误.

助记:这是你来自的uid,如果你正在运行setuid.