Why /usr/bin/*.dll must be executable?

Larry Hall (Cygwin) reply-to-list-only-lh@cygwin.com
Sun Apr 22 02:29:00 GMT 2012


On 4/20/2012 6:10 PM, Mike Kaganski wrote:
<snip>

> Any code that may be executed (directly or indirectly) must have "x" under
> *nix. Windows had tried to make somewhat similar (with the same security
> concerns in mind) in its NT family, but it had to deal with file systems
> that have no notion of "executability" (FAT), so the notion was introduced
> in NTFS, but is not honored (thus, "execute" ACL permission is useless in
> Windows).

Huh?  It is honored on NTFS.  I'm assuming that's what you meant.

> As Cygwin tries to emulate *nix, I suppose, it explicitly checks executable
> bit on loading files. So it's not correct to state that "this is completely
> Windows loader thing", but this thing is conceptually correct, so live with it.

As I said before, Cygwin doesn't run executables.  Cygwin is not an O/S.
Windows is the O/S.  It has the job of running executables, loading them,
following any dependencies (DLLs), and loading those.  While Cygwin does
emulate POSIX permissions using Windows ACE/ACLs, it is up to Windows to
enforce these permissions.  But setting permissions is not the same as
having some control over the loading executables.  Sorry.

-- 
Larry

_____________________________________________________________________

A: Yes.
 > Q: Are you sure?
 >> A: Because it reverses the logical flow of conversation.
 >>> Q: Why is top posting annoying in email?

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



More information about the Cygwin mailing list