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: permissions on .exe files


Thanks for your response , Igor.

On 7/21/06, Igor Peshansky wrote:
On Fri, 21 Jul 2006, Hemal Pandya wrote:

> Hello,
>
> If I create a file somefile.exe "outside cygwin" then cygwin reports
> that it is executable. But if the file is created by cygwin then it
> does not become executable unless explicitly set.

This is correct and expected behavior.

With your explanation now I can understand that it is so.



> One implication of this is that when I extract a .zip using cygwin > unzip then the .exe, .dll, .bat etc do not get the executable > permission.

That's a problem with the ZIP format, which does not keep permissions.
Try "tar".

Unfortunately I do not have control over the file creation. Regarding permissions, zipinfo does report file permissions so they probably are getting stored in the zip file.


> Is there a way to tell cygwin to assign u+x for the files created from > cygwin for which it would have otherwise assumed this permission?

Cygwin does not assume any permissions.  Neither does Windows.  However,
Windows does have ACL inheritance rules that set everything to be
executable.

I had failed to realize that windows makes everything executable. I agree it is very annoying.

I guess I'll do "chmod -R u+x *exe *dll *bat" after the unzip.

Again, thanks for your help. It solved my doubt and suggested the
right approach.


You can tell Cygwin to use default Windows permissions by temporarily setting CYGWIN to nontsec, i.e., run

CYGWIN=nontsec unzip somefile.zip

This would not assign u+x, but rather a+x.  There is no way that I know of
to get Cygwin to automatically assign only u+x.

> hpandya@hpandya-xp2 /tmp/ll Fri Jul 21 11:47:43 2006
> $ cmd /c "dir > in_windows.exe"
> hpandya@hpandya-xp2 /tmp/ll Fri Jul 21 11:47:50 2006
> $ ls > in_cygwin.exe
> hpandya@hpandya-xp2 /tmp/ll Fri Jul 21 11:47:58 2006
> $ ls -l
> total 2
> -rw-r--r-- 1 hpandya &-Users  29 Jul 21 11:47 in_cygwin.exe
> -rwxr-xr-x 1 hpandya &-Users 345 Jul 21 11:47 in_windows.exe
> hpandya@hpandya-xp2 /tmp/ll Fri Jul 21 11:48:02 2006

BTW, the above would happen even if you didn't have the .exe extension.
Windows does not do special magic for .exe files -- it just makes
everything executable.  A pretty annoying feature, if you ask me.
        Igor

- hemal


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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