无法以非 root 用户身份写入 CIFS 共享 - CentOS 6

eww*_*ite 4 permissions centos cifs setuid centos6

我正在开发一个最近从 CentOS 4.9 迁移到 CentOS 6 的系统。旧系统上存在来自 Windows 2008 服务器的 CIFS 挂载。原始挂载点有 777 个目录权限。

[root@Bootylicious ~]# ls -ld /images/
drwxrwxrwx 2 root root 4096 Jul 23 22:49 /images/
Run Code Online (Sandbox Code Playgroud)

当挂载处于活动状态时,权限为:

[root@Bootylicious ~]# ls -ld /images/
drwxr-xr-x 1 root root 327680 Aug 16 08:45 /images/
Run Code Online (Sandbox Code Playgroud)

root 以外的用户无法写入共享或创建文件。查看旧服务器,同一共享中的文件和子目录的权限具有 setuid 位。新系统上不存在这一点。看起来/etc/fstab像:

//172.16.30.32/images   /images                cifs    username=blah,password=blah,domain=abc123.net 0 0
Run Code Online (Sandbox Code Playgroud)

CentOS 4/5 和 6 版本之间发生了哪些变化对此产生了影响?这显然与 setuid 有关,但我不确定最干净的修复是什么。

eww*_*ite 5

此问题已通过以下提示解决:CIFS 装载的驱动器在所有文件上设置“stick-bit”,无法更改权限或修改文件

我必须更改/etc/fstab并添加file_mode=0666,dir_mode=0777安装选项。我还可以强制使用文件所有者的 UID 和 GID。我只是想知道为什么 CentOS/Red Hat 版本之间会发生这种变化。