This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Getting groups you belong to in perl


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]