【发布时间】:2017-07-27 21:01:40
【问题描述】:
我在 Windows 中创建了一个 zip。将其转移到 Unix 中。使用 unzip 命令解压缩 zip。这会导致在没有权限的情况下创建文件。像“---------- 1 root root 10930 Nov 23 07:54 a.txt”这样的东西
这会导致文件权限问题。有什么办法可以将 zip 解压缩为操作系统的默认 umask 值
【问题讨论】:
-
老式 ZIP 档案根本不存储任何文件权限。因此,当您解压缩此类包时,会应用正常的权限掩码 。所以很可能你当前的文件权限掩码是错误的......
-
如果是这种情况,那么当我执行 umask 时,正常的权限掩码是 0027。因此,如果您在 Windows 中制作 zip,然后在 unix 中复制,然后进行解压缩,那么 0027 应该是默认文件权限,但不会发生。有什么我错过的吗?
-
不确定。您如何解压缩文件以及使用什么帐户?您如何登录该帐户?请注意,没有“正常权限掩码”之类的东西。这取决于当前会话的 shell 或登录 shell 的设置。
-
嗨 arkascha,谢谢您的回复。我的意思是解压缩是通过 root 用户在 unix 中完成的。另外,我所说的普通权限掩码意味着当您运行命令“umask”时,它返回的值为 0027。我的问题是为什么解压缩后创建的文件根本没有权限
-
感谢大家的意见。我知道的是解压缩在文件权限中没有多大作用。无论从 zip 中进入我们的什么,都会在 unix 中解压缩。该问题与 Cygwin 有关,其中压缩文件时具有 000 权限。 cygwin.1069669.n5.nabble.com/…