我正在处理最近从 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
就我而言,我使用noperm
fstab 条目中的选项解决了这个问题
答案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
我已经卸载并重新安装,现在自动版本控制可以正常工作了!
我希望能够帮助你。