如何在用户运行perl脚本时检查root用户身份

ian*_*215 10 perl root

我正在编写一个脚本来生成我想要存储在/ etc/solignis中的配置文件.当我以受限用户身份运行脚本时,它不允许我创建目录或写入文件.因此脚本必须以sudo或root用户身份运行,如何使用sudo检查用户是root还是至少?

cjm*_*cjm 24

如果$>(也就是$EFFECTIVE_USER_IDuse English)不为零,则用户不是root用户.

  • 这回答了海报的问题,但海报提出了错误的问题并最终得到了一个非解决方案.打开文件.如果失败,则报告尝试的操作,完整路径名和系统错误消息($!)."权限被拒绝"没有任何含糊之处,即使用户是root用户也可能发生这种情况. (2认同)

Son*_*ton 5

XAppSoftware:如何检查root用户有解决方案:

my $login = (getpwuid $>);
die "must run as root" if $login ne 'root';
Run Code Online (Sandbox Code Playgroud)