我赋予文件执行权限,然后压缩成Linux OS中的zip文件。然后我将此zip文件移动到Windows并再次将其复制到另一台Linux服务器。这次我没有执行权限。
我知道我们可以使用scp命令直接复制文件和文件夹,但我必须让用户将它从Windows复制到Linux。
请告诉我如何在从Windows复制到Linux时保留权限。
感谢。
答案 0 :(得分:1)
这取决于实际进行复制的任何应用程序。
但Linux / UNIX和Windows上的文件权限的概念之间存在严重差异。 UNIX文件权限的概念是“可执行”,这不是Windows上存在的东西。 Windows文件被标记为可通过文件扩展名运行而不是其权限。
此外,UNIX上的文件权限具有组所有者的概念,我不认为这在Windows上存在,因此在最严格的意义上可能无法做到这一点。
如果您只是想要分配给所有者的可写/可读权限,那么它将再次依赖于您用来复制的应用程序。
答案 1 :(得分:1)
由于你的可执行文件是里面一个zip-archive,你所使用的文件系统或你所使用的操作系统并不重要。只要zip存档不受影响。
但据我所知,zip-archives无法跟踪文件权限。你可以在这里读更多关于它的内容: Maintain file and folder permissions inside archives
答案 2 :(得分:1)
最近,您还可以使用Linux subsystem for Windows并使用linux shell命令压缩文件。我最近成功地将AWS的可执行文件从github复制到我的Windows机器,然后复制到亚马逊。
答案 3 :(得分:0)
感谢您的所有回复。
我为我的问题找到了2个解决方案:
我正在将完整的zip文件复制到Linux服务器,而不是复制单个文件。这样它工作正常。
使用cygwin可以帮助我通过保留执行权限将文件复制到Linux服务器上。
答案 4 :(得分:-1)
你做不到。它们是不同的操作系统。