我正在尝试为驻留在单独数据分区上的共享目录创建具有用户级安全性的独立 Samba 文件服务器。问题是某些用户无法访问该分区上的共享,即使他们拥有完整的组 rwx 权限。
我最初的想法是在 /srv/shares 创建一个网络共享,但这不是在正确的分区上,所以我一直在尝试在当前安装在 /media/ 的数据分区(nwk-data)上创建一个目录共享账单。这并没有成功。
我考虑过编辑 fstab 以将数据分区 nwk-data 挂载到 /srv,但不确定这是否重要:在数据分区挂载点上方、处和下方的各个挂载点为测试目的创建的共享成功或失败,具体取决于是否他们在那个分区上。
配置:
Ubuntu 桌面 16.04 上的 Samba 4.3
两个用户(bill、debra)和一个组(sambausers,bill 和 debra 是其中的成员)。
三卷: (a) 备份硬盘;(b) 系统体积;(c) 数据量。数据卷有三个分区:sdc1 [reserved]、sdc2 [reserved]、sdc3 [nwk-data];这三个都安装到/media/bill。[nwk-data] 是数据分区。
/media 的所有权是 root:sambausers (chown -R root:sambausers /media)。
/media 的权限是所有者和组的 rwx (chmod -R 770 /media)。
两台客户端笔记本电脑。每个都是 Windows 7,每个都有帐户/用户 Bill 和 Debra。
所有三台机器(服务器和两台笔记本电脑)上的每个用户的密码都是相同的。
主要共享是位于 /media/bill/nwk-data/users (root:sambausers) 的 [users](所有者和组的 rwx)。
/media 是共享的 [media] 用于测试目的(root:sambausers)(rwx 代表所有者和组)。
/media/bill 共享 [bill] 用于测试目的(root:sambausers)(rwx 用于所有者和组)。
/media/bill/nwk-data 是共享的 [nwk-data] 用于测试目的(root:sambausers)(rwx 代表所有者和组)。
在 /srv/shares (root:sambausers) (rwx 代表所有者和组) 中为测试目的而创建的附加共享 [test]。
在 /media/bshare (root:sambausers) (rwx 代表所有者和组) 上为测试目的而创建的附加共享 [bshare]。
什么有效:
- Bill 可以使用他的凭据从两台笔记本电脑访问所有共享。
- Debra 可以使用 Bill 的凭据从两台笔记本电脑访问所有共享。
- Debra 可以使用她的凭据从两台笔记本电脑访问 [test]、[bshare] 和 [media]。
什么不起作用:
- Debra 无法使用她的凭据从任何一台笔记本电脑访问 [bill]、[nwk-data] 或 [users] 或后者的任何子目录。
我已经对 smb.conf 文件、所有权和权限进行了三天的修改,但没有任何效果。
问题似乎在于访问 /media 的子目录。我不确定挂断是什么。尽管我对这个主题一无所知,但这可能是 ACL 问题。任何关于问题可能是什么,甚至更好地解决它的想法,将不胜感激。
哇。有些问题更适合 Ubuntu 论坛,这是其中之一,因为我们需要就此进行对话。
所有这些 /media 和 /media/bill 的 chown'ing 和 chmod'ing 都绕过了 Linux 为这些目录设置的所有默认安全措施。/media/bill 应用了一个特殊的权限设置——至少是这样。如果您首先查看了正常权限“ ls -dl /media/bill ”,那么看起来甚至 bill 都不会具有遍历访问权限,因为owner=group=root并且权限将为drwxr-x---+。这里的关键是末尾的“ + ”。这表示有特殊权限。查找这些权限的方法是使用以下命令:
这将表明只有 bill 有权遍历 /media/bill 目录以获取其下的内容,而他将受到其权限的约束。不确定您的所有权限更改现在是什么样子。
如果您在 /media/bill/nwk-data/users 创建了一个共享,您只有两个选项 - 通常:
[1]在共享定义中使用选项force user = bill 。这将使 Debra 在服务器上看起来像帐单,以便她可以遍历 /media/bill 文件夹。
[2] 将分区挂载到其他地方:在 /media/nwk-data、/srv/mwk-data 的上一层,除了 unser /media/bill 之外的任何地方都可以工作。
如果这是在论坛上,我会有一些问题,例如 /media/bill/nwk-data 上挂载了什么文件系统以及如何在 smb.conf 中配置共享。
编辑: /media/$USER 由系统为每个本地用户设置。它的目的是为用户可能想要连接到他的系统的所有非永久分区或设备提供父目录。
例如,当用户将外部 USB 磁盘插入他的机器时,系统会自动将其挂载到 /media/$USER/LABEL。对 /media/$USER 设置“特殊”权限的原因是为了确保该设备只有附加它的用户才能访问,其他人不能访问。该用户有权遍历 /media/$USER 目录(跨目录)以访问 /LABEL 目录。此时,他受到 /LABEL 目录的权限的限制。
您可以在这些条件下共享某些内容,但您必须使用“强制用户”建议。更改 /media/$USER 的权限会破坏其目的。并且更改系统文件夹 /media 的权限还没有完成。
对于内部分区,最好将其安装在 /media/$USER 以外的其他位置。