尝试使用 rwx 权限写入已挂载的驱动器时被拒绝

尝试使用 rwx 权限写入已挂载的驱动器时被拒绝

我使用 /etc/fstab 中的以下内容安装网络驱动器:

$ sudo nano /etc/fstab
//XXX.XXX.XXX.XXX      /mnt/bilder     cifs    auto,username=XXXX,password=XXXX,vers=3.0,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0

这很完美。当我现在检查 /mnt 上的权限时

$ ls -la /mnt
total 8
drwxr-xr-x  3 root root 4096 Jun 23 13:37 .
drwxr-xr-x 22 root root 4096 Jul 12 14:16 ..
drwxrwxrwx  2 pi   pi      0 Aug  1 15:04 bilder

那么看起来 pi 用户(我登录的用户)作为所有者拥有 rwx 权限。事实上,每个人都应该拥有 rwx 权限。

但是当我尝试触摸 /mnt/bilder 时,我被拒绝了

$ touch /mnt/bilder/test
touch: cannot touch '/mnt/bilder/test': Permission denied

这是怎么回事?为什么会这样?

答案1

挂载 SMB 共享时不会显示真正的 Windows 文件权限。您看到的只是 fstabfile/dir_mode选项告诉 CIFS 客户端展示,但这些选项不允许您绕过安全性。

(Windows/SMB 文件权限比单纯的权限更广泛一些rwx,需要不同的工具(如“getcifsacl”)才能正确显示。)

但是,实际的访问检查仍然由服务器根据通过 Windows 设置的文件权限完成,并根据username=您用于挂载共享的用户帐户()进行检查。

即使服务器在 Linux 上运行 Samba,情况也是如此:所有访问检查都是基于帐户的,尽管客户端可以显示真正的 Linux 文件权限(如果它具有足够新的内核并且支持此 SMBv3 扩展),它就无法覆盖它们。

相关内容