概述
- 我有一个文件服务器和域控制器,都运行 Samba 4.15.9。
- 森林里只有 DC 一个人。
- DC、文件服务器和 Windows 10 客户端加入了同一个域。
- 在文件服务器上,我按照 Samba wiki 设置了 ADS 安全性、AD idmap 和 Windows ACL 共享 (域加入,AD idmap,Windows ACL)。
- 我已经验证可以在文件服务器上枚举所有相关的域用户和组。
- 我可以作为拥有组 (
Unix Admins
) 的成员连接并浏览共享,但不能作为Domain Users
; ACL 应该允许访问的成员连接并浏览共享。
领域
- 域中存在两个相关组;
Unix Admins
和Domain Users
,它们均gidNumber
在 idmap 范围内设置为唯一值。 - 域中有两个相关用户;
Admin
和User
,两者都已uidNumber
设置为 idmap 范围内的唯一值。这两个用户都是 的成员Domain Users
。Admin
是 的成员Unix Admins
。
文件服务器
文件服务器上的Samba配置如下(域名更改):
[global] security = ADS workgroup = WORKGROUP realm = REALM.WORKGROUP.COM server string = %h log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb idmap config * : range = 3000 - 7999 idmap config REALM.WORKGROUP.COM : backend = ad idmap config REALM.WORKGROUP.COM : unix_nss_info = yes idmap config REALM.WORKGROUP.COM : range = 10000 - 999999 idmap config REALM.WORKGROUP.COM : schema_mode = rfc2307 vfs objects = acl_xattr map acl inherit = yes template shell = /bin/bash template homedir = /shares/user/%U username map = /etc/samba/user.map # Only map is Administrator -> root winbind use default domain = yes winbind enum users = yes winbind enum groups = yes server role = member server map to guest = never server min protocol = SMB2_10 server smb encrypt = required [users$] path = /shares/user/ read only = no acl_xattr:ignore system acls = yes comment = User Shares [shared] path = /shares/shared/ read only = no acl_xattr:ignore system acls = yes comment = Shared Folders [service] path = /shares/service/ read only = no acl_xattr:ignore system acls = yes comment = Service Shares
Unix Admins
已SeDiskOperatorPrivilege
在文件服务器上获得授权。共享目录的 POSIX 权限均为 771,所有者为
root:"unix admins"
。共享目录根目录()的 Windows ACL
/shares
设置如下:- 所有者:Unix Admins
- 允许:Unix 管理员:完全控制:此文件夹、子文件夹和文件
- 允许:创建者所有者:修改:仅限子文件夹和文件
- 允许:域用户:读取和执行:此文件夹、子文件夹和文件
- 允许:系统:完全控制:此文件夹、子文件夹和文件
所有相关共享的“共享权限”允许“所有人”拥有“完全访问”权限。
问题
根据上述 ACL,我期望用户User
能够浏览共享,因为他们是 的成员Domain Users
。事实上,计算 的有效访问权限User
表明他们具有预期的权限。但是,尝试连接到共享会User
产生权限错误。
解决方法
设置整个/shares
目录树的 POSIX 权限以775
允许用户按预期访问共享,同时777
允许用户使用适当的 ACL 进行写入。
然而,我觉得这并不理想,我关注的维基页面似乎显示设置共享,Domain Users
并将 POSIX 权限设置为770
。