在 CIFS 挂载上允许 chmod

在 CIFS 挂载上允许 chmod

我有一台 Windows 7 主机,上面有一个 VirtualBox 下的 CentOS 6 客户机。

我有一个使用 CIFS 与 Linux 客户机共享的 Windows 目录。

到目前为止一切都运行良好,直到我意识到所有chmod操作都会产生:

chmod:更改“x”的权限:操作不允许

这是可以理解的,但我的问题是,一些我无法控制的工具试图chmod为我归档,结果失败了。

是否有可能允许忽略所有chmod()调用都基于 CIFS 挂载?请注意,这些调用是通过编程语言而不是命令行chmod实用程序进行的。

编辑:mount.cifs 手册说(强调我的):

核心 CIFS 协议不提供文件和目录的 unix 所有权信息或模式。因此,文件和目录通常看起来归 uid= 或 gid= 选项设置的任何值所有,并且将权限设置为挂载的默认 file_mode 和 dir_mode。尝试通过 chmod/chown 更改这些值将返回成功但没有效果。

这正是我想要的行为,那么为什么它对我来说不起作用呢?

答案1

找到了:nopermmount 参数的作用正是如此:

//192.168.56.1/www /mnt/www cifs noperm,username=www,password=xxx, ...

请注意,mount -a不应用该参数,您必须重新启动才能使其工作。
我花了很多时间才弄清楚这一点。

现在chmod运行良好,命令没有产生任何错误,只是被忽略。

答案2

尝试添加 exec 选项。我相信以非 root 用户身份挂载将关闭 exec。

https://unix.stackexchange.com/questions/34822/is-it-possible-to-enable-execution-of-files-from-a-cifs-mount-in-bash

相关内容