目前有一个使用 SSSD + 自动 SID->UID 映射/生成集成的 CentOS8 服务器 AD。我想设置一些文件共享来使用 AD 组,但我很难设置它。有人有不使用 winbind 的示例配置吗?目前有以下几项:
[global]
workgroup = <domain netbios name>
security = ads
realm = <domain fqdn>
domain master = no
local master = no
preferred master = no
client min protocol = SMB3
vfs objects = acl_xattr
map acl inherit = yes
log level = 5
idmap config * : backend = sss
idmap config * : range = 10001-2000100000
kerberos method = secrets and keytab
我不熟悉 Samba 的设置,所以也许其中一些设置没有意义/是多余的?尝试启动 Samba 时出现以下错误:
[2021/02/08 19:26:53.511544, 3] ../../source3/auth/token_util.c:788(finalize_local_nt_token)
Failed to check for local Guests membership (NT_STATUS_INVALID_PARAMETER_MIX)
[2021/02/08 19:26:53.511550, 0] ../../source3/auth/auth_util.c:1403(make_new_session_info_guest)
create_local_token failed: NT_STATUS_INVALID_PARAMETER_MIX
[2021/02/08 19:26:53.511603, 0] ../../source3/smbd/server.c:2052(main)
ERROR: failed to setup guest info.
谢谢
答案1
我有一个小型的工作 Samba 设置,没有 winbind,它使用 SSSD/Kerberos 进行身份验证并控制 Windows AD 组对共享的访问。我最初是从这里得到的设置:http://www.hexblot.com/blog/centos-7-active-directory-and-samba。我不是桑巴专家,所以我无法提供很多解释,但希望这能为您指明您正在寻找的方向。服务器当前运行 Debian 10.8、Samba 4.9.5 和 SSSD 1.16.3
这是 smb.conf 的全局部分和一个共享:
[global]
workgroup = <domain netbios name>
security = ads
encrypt passwords = yes
passdb backend = tdbsam
realm = <kerberos realm (normally domain FQDN in all caps)>
map to guest = Bad User
kerberos method = secrets and keytab
# Not interested in printers
load printers = no
cups options = raw
# This stops an annoying message from appearing in logs
printcap name = /dev/null
[backups]
comment = My shared folder
path = /srv/smbshares/backups
public = no
writable = yes
guest ok = no
valid users = @"[email protected]"
create mask = 660
directory mask = 770
这就是我可以肯定地说的,但我会提供一些猜测,因为我没有时间进行实验:我注意到我的配置和你的配置之间的一个很大的区别是你使用 idmap 而我不使用。由于该错误提到了本地组成员身份的问题,因此我怀疑问题就出在这里。您是否尝试过将 tdb 指定为默认 (*) 域后端,然后将 sss 指定为特定于域的后端(类似这样 - 请参阅https://www.mankier.com/8/idmap_sss):
idmap config <AD-DOMAIN-SHORTNAME> : backend = sss
idmap config <AD-DOMAIN-SHORTNAME> : range = 200000-2147483647
idmap config * : backend = tdb
idmap config * : range = 100000-199999