When using a the option to download all artifacts as a zip on a Linux job, the resulting archive doesn't maintain the permissions of the original file. A couple years ago, this used to work. It first broke for us when we upgrade to a 1.5x LTS release. We've recently switched to latest (1.598) and it is still broke.
Here is an example from directory in a slave's workspace that is part of the archived artifacts:
ls -l | head -4 total 42288 -rwxr-xr-x 1 goesrjen goesrsw 74575 Feb 10 10:01 CreateSizes -rwxr-xr-x 1 goesrjen goesrsw 832 Apr 2 2014 create-workspace -rw-r--r-- 1 goesrjen goesrsw 25816831 Jan 26 20:19 GroundServiceApp.jar
When I download all artifacts as a zip, this is what is in the directory after extraction:
ls -l | head -4 total 42288 -rw-r--r-- 1 davidsj2 goesrsw 74575 Feb 10 10:01 CreateSizes -rw-r--r-- 1 davidsj2 goesrsw 832 Apr 2 2014 create-workspace -rw-r--r-- 1 davidsj2 goesrsw 25816831 Jan 26 20:19 GroundServiceApp.jar
If I manually "zip -r <dir>.zip <dir>" on the slave, and then unzip everything is fine, so it has something to do with how Jenkins is creating the zip file.