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

时间:2011-03-12 04:15:51

标签: perl root

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

4 个答案:

答案 0 :(得分:24)

如果您$> use English(又名$EFFECTIVE_USER_ID)非零,则该用户不是root用户。

答案 1 :(得分:4)

XAppSoftware: How to check for root user有一个解决方案:

my $login = (getpwuid $>);
die "must run as root" if $login ne 'root';

答案 2 :(得分:0)

if ( $< != 0 ) {
print "This script must be run as root\n"; 
exit (0);
}

答案 3 :(得分:0)

我有同样的问题,最后使用了前三个答案的结果:

die "Must run as root\n" if $> != 0;