4

Perlには、ユーザーおよびグループ情報のためにUnixシステム(およびサポートされている場合は他の場所)の/ etc/passwdにアクセスするためのいくつかの組み込み関数があります。例えば、

my $name = getpwuid($uid);

ユーザーIDを指定してユーザー名を返すか、そのようなユーザーがいない場合はundefを返します。

Perlスクリプトを移植可能で、UnicesとWindowsで実行する必要がある場合、ユーザーとグループの情報にどのようにアクセスする必要がありますか?ActivePerlはUser::grentおよびUser::pwentモジュールをサポートしているようです。これらは、Windowsでも/ etc/passwdへのフィールドごとのアクセスを提供します。不思議なことに、これらは組み込み関数getpw*およびgetgr*をサポートしていません。他にどのような選択肢がありますか?

4

2 に答える 2

5

Win32::NetAdminモジュールを使用できます。

UserGetAttributes彼らはあなたが必要とすることをしているようにGroupIsMember見えます。

于 2008-10-07T10:21:51.877 に答える
0

奇妙なことに、Microsoft の Services for Unix に同梱されている Interix の Perl ビルドは、getpw* とその仲間をサポートしています。

于 2009-08-22T08:11:21.550 に答える