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: cygwin 1.7.5, 'id -ng' fails when /etc/group is a symlink


>> >> Also, for reference, I have been successfully using a symlink for
>> >> the /etc/group and /etc/passwd files for years in Cygwin 1.5x
>> >> without issue and I would like to continue doing so in 1.7x.
>>
>> >That won't be possible using Cygwin symlinks.  If you're running
>> >Vista or later, you can try to make /etc/group a native NTFS symlink.
>> >In your above example, for instance, in an elevated(!) shell:
>> >
>> >  bash$ cd /etc && cmd /c "mklink group _group
>>
>> Now that I have "read" the documentation, I understand.  And, yes,
>> the native NTFS symlink method does indeed work in Windows 7.
>> Unfortunately, that will not help in my WinXP environments.  However,
>> native Windows shortcuts (.lnk files) will work for my purposes in
>> both OSes.  And, since the documentation for the special files in /etc
>> states that "These file are read using native Windows NT functions",
>> I presume that method would be acceptable in this case - I realize
>> that this is somewhat unorthodox, however.
>
>Hang on, are you saying that .lnk shortcuts really work for you in this
>specific case?  Did you try it?
>
>Otherwise, I doubt that they work.  Shortcuts are an invention for the
>GUI, and they are evaluated by the user32 higher level lib.  They have
>no meaning in the native NT API.

Well, I am embarrassed to say I thought I did ... upon a closer look
I found that, with all the testing I was performing, I had neglected to
comment out a section of my startup script which executes mkgroup to
populate /etc/group if it does not exist (which it did not since I had
renamed it to _group - and was the target of group.lnk).  This resulted
in the creation of /etc/group itself and subsequently 'id -ng' returning the
expected group ('None', rather than 'mkgroup' as before) which led
me to believe it worked.  Oops!

I have taken care of that oversight now.

So, you are correct, it did not actually work before.  Thank you for
the warranted skepticism.

BTW, this is the same script that I use for Cygwin 1.5x in conjunction with
a symlink (created with 'ln -s') for /etc/group -> /cygdrive/z/cygwin/etc/group
(a common group file located on a drive mapped (z) to a CIFS share
on a Server. I also use a symlink for /etc/passwd in the same manner.
This method has worked fine for 5+ years without fail in 1.5x as long as the
symlink attribute is set to R/O (which is the default result from 'ln -s').


>If you're looking for a workaround in the XP environment, I'd suggest to
>create a directory junction for the /etc directory and let all XP
>machines have the same /etc.

I was of the understanding that junctions were not supported over a CIFS
share (my ultimate target; as with 1.5x).  Perhaps you have information to
the contrary?

Since I have to manage the Win XP side for the foreseeable future, it
appears that I will have to adopt another methodology to centrally manage
these files due to the new 1.7x symlink implementation.

That said, I still think Cygwin is GREAT!

Thank you again,
Ken

--
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]