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

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

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

[root@Bootylicious ~]# ls -ld /images/
drwxrwxrwx 2 root root 4096 Jul 23 22:49 /images/

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

[root@Bootylicious ~]# ls -ld /images/
drwxr-xr-x 1 root root 327680 Aug 16 08:45 /images/

除 root 之外的用户无法写入共享或创建文件。查看旧服务器,同一共享中的文件和子目录的权限具有 setuid 位。新系统上不存在此位。如下所示/etc/fstab

//172.16.30.32/images   /images                cifs    username=blah,password=blah,domain=abc123.net 0 0

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

答案1

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

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

答案2

就我而言,我使用nopermfstab 条目中的选项解决了这个问题

答案3

我在使用 wordpress wp-content 和自动版本系统时遇到了同样的问题。这两个文件夹位于 CentOS 6.3 的 cifs 挂载点上,但在 centos 5.8 上显然可以完美运行。

我已经在两个共享的挂载选项中配置了粘性位,对我来说,诀窍是添加(我必须承认,这是相当随意的)选项诺塞维里诺

//sharesrv/dir1/dir2/dir3/ /mnt_dir cifs credentials=/etc/samba/.credential2,dir_mode=0777,file_mode=0777,noserverino 0 0

我已经卸载并重新安装,现在自动版本控制可以正常工作了!

我希望能够帮助你。

相关内容