向大家请教一下,主机 WinXP 和虚拟机 Linux 之间共享文件目录 hgfs 的权限问题
大家都知道,VMware设置共享文件夹后,虚拟机 Linux 的 \mnt\ 下会自动生成一个名为 hgfs 的目录,里边包含了与主机的共享目录。
root登录虚拟机。
1.这个 hgfs 目录的权限为 “r-xr-xr-x”,在此目录下无法写,而且此目录的权限无法修改。这是为什么呢?
2.比如这样一个路径“/mnt/hgfs/rhelshare/c_code/”,除了 hgfs,其他如 mnt、c_code等目录权限均为“rwxrwxrwx”。我在 c_code 下写代码,编译 C 代码均没问题,进行文件的读写操作也可以。但当我用 mkfifo() 进行管道通信时,如果管道路径在当前目录(即包含了“hgfs”),创建管道会失败,errno 为 1,即操作不被允许。如果管道路径改为如“/tmp/myfifo”,就可以正常通信。
让我不解的是,如果创建管道失败是因为 hgfs 目录的权限问题,那为什么文件操作又可以?
3.另外,我发现,在这个共享目录下的文件或文件夹的权限修改有一些问题,不能修改文件或文件夹的“读”和“执行”权限(均为“可读”和“可执行”),只可以修改“写”权限。
以前我笔记本装 Linux 时,对于 NTFS 分区里的文件或文件夹,权限修改也有类似的问题。这是为什么呢?
希望就以上三个问题,向大家请教一下。望各路大神指点。 Linux?hgfs? Linux hgfs 权限修改 管道通信
[解决办法]
应该是hgfs不支持你建立fifo文件