#3394: zipfile.writestr doesn't set external attributes, so files are extracted mode 000 on Unix
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index ddeaa18..609dea3 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -1064,6 +1064,7 @@
             zinfo = ZipInfo(filename=zinfo_or_arcname,
                             date_time=time.localtime(time.time())[:6])
             zinfo.compress_type = self.compression
+            zinfo.external_attr = 0600 << 16
         else:
             zinfo = zinfo_or_arcname