我们的 Ubuntu Server 12.04 系统有一个通过 Samba 在 /media/blarg 安装的远程 NTFS 文件系统。
我们的一个用户在向远程系统写入数据时遇到了问题,但在从远程系统读取数据时却遇到了问题。
由于我们设置的自动挂载脚本有一个不同的用户(我们称之为 sagaba)挂载远程系统,我想我会将 /media/blarg 的权限更改为 774 sagaba:sagaba,并使我们的用户成为 sagaba 组的成员,这样他就可以做他的事了。
不幸的是,当我尝试这样做时(即使以 root 身份),我收到权限被拒绝错误。
chown: changing ownership of `/media/blarg': Permission denied
这和 root squashing 有关吗?我不明白它是怎么回事,因为挂载点是本地系统上的一个目录。
答案1
默认情况下,您无法修改通过 CIFS 在 VFS 上挂载的 NTFS 文件系统的文件权限。即使 chmod 和 chown 没有出现问题,它们在这些文件系统下也不起作用。
最好的办法是使用挂载选项来完成这项工作。也就是说,在挂载时定义权限。看看人挂载.cifs对于参数uid
和gid
。
请注意,当您为 ext4 文件系统提供服务时,CIFS 支持 chmod 和 chown,但为 NTFS 文件系统提供服务时则不支持。NTFS 挂载支持权限,但默认情况下禁用这些权限,因为您需要将 Windows 用户 ID (SID) 映射到系统上的 UID。请查看 Eliah Kagan 在评论中指出的文章。即使您可以进行权限映射并使权限与直接挂载一起工作,我也不知道它们是否可以通过 CIFS 工作。