4

Perl 有几个内置函数用于访问 Unix 系统(以及其他支持时)上的 /etc/passwd 以获取用户和组信息。例如,

my $name = getpwuid($uid);

将返回给定用户 ID 的用户名,如果没有这样的用户,则返回 undef。

如果 Perl 脚本需要可移植并在 Unices 和 Windows 上运行,应该如何访问用户和组信息?ActivePerl 似乎支持 User::grent 和 User::pwent 模块,它们提供对 /etc/passwd 的按字段访问——即使在 Windows 中也是如此。奇怪的是,它们不支持内置函数 getpw* 和 getgr*。还有哪些其他选择?

4

2 回答 2

5

你可以使用Win32::NetAdmin模块

UserGetAttributesGroupIsMember看起来他们做你需要的。

于 2008-10-07T10:21:51.877 回答
0

奇怪的是,微软的 Unix 服务附带的 Interix 构建的 Perl 确实支持 getpw* 和朋友。

于 2009-08-22T08:11:21.550 回答