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:
When I download all artifacts as a zip, this is what is in the directory after extraction:
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.