This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Getting groups you belong to in perl
- From: "PANEL Vincent (CIS/SIN)" <Vincent dot Panel at belgacom dot be>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Fri, 14 Mar 2014 12:03:46 +0000
- Subject: RE: Getting groups you belong to in perl
- Authentication-results: sourceware.org; auth=none
- References: <09C6BA32B7B1654B8AB0CAF234F2A1C114E65CBA at A04066 dot BGC dot NET> <1797360578 dot 20140314023749 at yandex dot ru>
From: Andrey Repin[]
Sent: Thursday 13 March 2014 23:38
To: PANEL Vincent (CIS/SIN);
Subject: Re: Getting groups you belong to in perl
>Greetings, PANEL Vincent (CIS/SIN)!
>> Don't know if this list is more appropriate than the Perl one but my
>> question is actually about porting a Perl script to Cygwin. I need to
>> check if the current user running the script belongs to a pre-defined group.
>> Under *nix, I get the list of users belonging to the group and see if
>> the current user is in this list.
>How exactly you are doing this? (I hope you're not reading it from
>/etc/group, because that file may not exist at all, or contain exactly
>zero relevant
>information.)
I'm using standard perl commands (getgrnam, getlogin, etc... : http://perldoc.perl.org/5.14.2/functions/getgrnam.html) which are probably using standard C libraries in the background (I hope). The doc explicitly says "The $members value returned by getgr*() is a space-separated list of the login names of the members of the group" but it's always empty under Cygwin.
>> Cygwin doesn't allow this way of working.
>Oh... ?
Yes indeed, the standard perl functions work but they always return an empty list of group members, similar to mkgroup.
>> I found out by reading the thread "Why mkgroup does not list group members?"
>> on this mailing list (1 message on Mon, 13 May 2013 20:29:52, for instance).
>> I would like to use perl commands without launching external
>> commands, if possible. The way I've found until now is by using the output of the "id"
>> command but I was wondering if there was another way to do it. How is "id"
>> command working by the way ?
>You can check the sources of it, it's really a very simple tool.
>(It's coreutils, by the way.
>http://mirrors.kernel.org/sourceware/cygwin/x86/release/coreutils/ )
I will do it.
--
WBR,
Andrey Repin () 14.03.2014, <02:12>
Sorry for my terrible english...
________________________________
***** Disclaimer *****
http://www.belgacom.be/maildisclaimer
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple