Samba4 可以使用 AD 的“主组”以外的 GID 创建文件吗?

Samba4 可以使用 AD 的“主组”以外的 GID 创建文件吗?

我有 Windows 2012 R2 AD。所有用户都是“域用户”组的成员,然后每个用户也是另一个组的成员,具体取决于部门。所有用户在 AD 中都将“域用户”作为其“主要组”。因此它看起来像这样:

uid=40001(user1) gid=123456(domain users) groups=123456(domain users),50001(dep1),301(BUILTIN\users)
uid=40002(user2) gid=123456(domain users) groups=123456(domain users),50002(dep2),301(BUILTIN\users)
uid=40003(user3) gid=123456(domain users) groups=123456(domain users),50002(dep2),301(BUILTIN\users)

现在,在 Samba 共享上,它们的主目录应归 user:dep 所有。我创建目录,将其 chown 到相应的组,并将 guid 设置为 sticky:

drwxrws---+ 4 user1   dep2 41 Jan 13 17:30 user1
drwxrws---+ 3 user2   dep2 22 Jan 13 17:30 user2
drwxrws---+ 3 user3   dep2 22 Jan 13 17:30 user3

在 /etc/samba/smb.conf 中我配置了主目录如下:

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        directory mask=2770
        force directory mode=2770
        create mask=2770
        force create mode=2770
        force security mode=2770
        force directory security mode=2770

但是,每当我在 Windows 中挂载共享并在其中创建文件或目录时,它将归默认组所有:

-rwxrwx---+ 1 user1   domain users  0 Jan 14 13:16 Test.txt

我如何让 samba 对新文件和目录使用 depX 组?

答案1

在现实生活中,用户个人文件夹中的文件归哪个组所有并不重要:除了所有者用户之外,任何人都无法挂载它。这是我的“homes”共享配置:

[homes]
    comment = %S: personal folder
    valid users = @MYDOMAIN\my-subdomain-users
    read only = No
    browseable = No
    browsable = No
#    root preexec = /usr/local/sbin/mkhomedir.sh %D %S
    volume = %U-%S
    vfs objects = recycle:keeptree=yes
    create mask = 700
    directory mask = 700
    path = /home/%D/%U

注意掩码:我禁止除所有者之外的所有用户和组访问文件和文件夹(700)。相反,你允许组拥有完全访问权限。你真的需要这样做吗个人的文檔?

PS。关于评论的“root preexec”:较旧的 SAMBA(4 之前)无法自动创建主目录,需要这样的“医疗拐杖”。还请注意路径:我为我的子域创建了符号链接(我不允许其他子域的用户使用此共享):/home/MYDOMAIN --> /var/samba/homes/MYDOMAIN,并且 samba 在指定的路径内创建用户的子目录:%D 替换为 MYDOMAIN,%U 替换为用户的登录名。

相关内容