从wsl复制文件到windows立刻读报错Permission denied

发布时间 2023-11-24 19:19:40作者: 无心而为功
因为是在windows使用IDE开发,但用到了ubuntu下抓的pcap文件,我直接从wsl把文件复制到windows目录下,使用WatchService监视目录。第一次正常,第二次以后一直报错org.pcap4j.core.PcapNativeException: E:\input_test\xxx.pcap: Permission denied。起初以为是其他程序也开了文件没正常关闭,但是把其他程序注释依然报错。最后确定是从wsl直接复制文件到windows下的问题。在WSL中,文件的所有权和权限是由Linux的用户ID (UID)和组ID (GID)以及文件模式 (file mode)决定的。当在WSL中创建一个文件,这些元数据会被存储并用于决定哪些用户可以访问这个文件。然而,当将文件从WSL复制到Windows的文件系统时,这些元数据可能无法正确地映射到Windows的权限模型,因此应用程序可能无法访问这个文件。