Mail Archives: cygwin/2002/07/31/05:41:07
On Wed, Jul 31, 2002 at 09:40:46AM +0100, Tony Arnold wrote:
> Turns out that this problem was due to incorrect permissions and
> ownership of files in /usr/bin. The perl binary was owned by
> administrator and had permission of 700. I changed this to 755 and
> everything worked. Curiusly, I could still run perl from a bash prompt,
> but the MakeMaker module in Perl could not execute it. I guess this is
> perl internally only looking at cygwin permissions, but somehow bash
> looks at the NT permissions.
Nooooo. It's way easier. If an application uses stat() and
checks the uid against the posix permission bits, it fails
since your uid is definitely not the uid of the admins group.
If, OTOH, an application uses access(file, X_OK) to check if
you are allowed to run a file, it will succeed since Cygwin
checks the whole ACL against the user and group memberships
(as far as Cygwin knows it).
If OTOH, an application *not* checks, neither with stat() nor
with access(), it will just call exec(file,...) and the system
decides whether it runs or not.
This means, bash() tries to make it right by checking permission
bits. Other applications just ignore them. That's the whole
magic.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin AT cygwin DOT com
Red Hat, Inc.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -