我有一个 NFSv3 Ubuntu 服务器。
当我解压一个特定的 zip 文件时,它会创建一个文件夹和几个文件。该文件夹可通过 NFS 访问,并且所有文件的名称都在那里。唯一的问题是文件显示为 0 字节,无法在我的客户端上打开。
如果我创建一个新文件夹并将cp
文件放入其中,它们就可以工作!
我已经运行ls -l
了lsattr
- 但我看不出文件之间有什么区别。 两者都stat -c %a
显示。744
当我运行时,两个文件都具有正确的大小ls -l
。
我已经重新启动了客户端和服务器,但没有什么区别。
我感觉我快疯了。是否有任何权限或属性可能导致这种情况?
答案1
如果目录存储在 Zip 中且末尾没有“/”,则它将被解压为 0 字节文件,如果您运行 zip info,您将看到它是目录。cp 能够从此目录复制解压后的文件,因为您定位的是系统中具有 inode 的文件。因此问题在于您如何压缩文件及其名称。为压缩指定的目录必须包含“/”。我认为您可以编辑 zip 并将目录名称更改为 name/ 来修复它。
答案2
事实证明这是父文件夹的权限问题。
运行stat foldername/
显示权限设置为744
我通过运行修复了这个问题chmod 775 foldername/