与realmd / sssd和AD集成共享文件夹

我已经安装了CentOS 7机器,并通过realmd其join到我们的AD中:

 yum install realmd samba-common oddjob oddjob-mkhomedir sssd realm join [email protected] mydomain.local 

之后, realm list返回预期的输出

 [root@webdev samba]# realm list mydomain.local type: kerberos realm-name: MYDOMAIN.LOCAL domain-name: mydomain.local configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common login-formats: %[email protected] login-policy: allow-realm-logins 

我可以使用我的AD凭据通过SSHlogin(所以我得到myuser @ mydomain.local @主机名)。

我现在需要允许Windows用户访问机器上的文件夹,但是Samba似乎不愿意合作 – 所有组合或用户名和密码都会返回错误。 我不知道如何debugging,或者如果我错过了一些东西。

smb.conf文件基本上是:

  [root@webdev samba]# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[vHosts]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions [global] workgroup = MYDOMAINLOCAL realm = MYDOMAIN.LOCAL server string = Samba Server Version %v security = DOMAIN log file = /var/log/samba/log.%m max log size = 50 load printers = No idmap config * : backend = tdb hosts allow = 127., 10.0. cups options = raw [vHosts] comment = Virtual Host repository path = /var/www/vhosts valid users = MYDOMAINLOCAL\%S read only = No 

我应该注意到,我已经将目录( /var/www/vhosts )系统权限更改为777。

任何帮助将不胜感激。 提前致谢!

更新:

  • DC是Windows 2003 R2,客户端是Windows 7
  • 已经尝试设置安全adsdomain ,具有类似的结果(没有雪茄)
  • 在Windows凭据对话框收到错误消息是“访问被拒绝”
  • 尝试禁用和启用防火墙,没有区别
  • SELinux被禁用

searchkrb *包:

 [root@webdev logs]# rpm -qa | grep krb sssd-krb5-common-1.11.2-68.el7_0.5.x86_64 sssd-krb5-1.11.2-68.el7_0.5.x86_64 samba-winbind-krb5-locator-4.1.1-35.el7_0.x86_64 krb5-libs-1.11.3-49.el7.x86_64 

和命令输出getent passwd MYDOMAINLOCAL\myusergetent passwd mydomain.local\myuser返回空白(无输出)。

回答我自己的问题:

唯一错误的是smb.confvalid users部分 – 看起来%S根本不起作用。

因此,对于Windows中名为“WebDevGrp”的安全组,在CentOS上,它将显示为[email protected] (您可以通过groups [email protected]进行testing),然后您可以像这样创buildSamba共享:

 [vHosts] comment = Virtual Host repository path = /var/www/vhosts public = no writable = yes guest ok = no valid users = @"[email protected]" 

而且你甚至不会提示input密码 – 这一切都是无缝的!

PS。 在debuggingSamba的时候,将log level = 3添加到你的configuration中,会让你有所不同!

PPS。 我已经写了一个关于整个过程的指南 – 从新鲜安装的CentOS 7到拥有ADauthentication/授权的Samba共享,你可以在我的博客中find

最近我不得不在Fedora和Windows 2012 / Windows 7上configuration一个Windows / Sambatesting环境,并且有一些类似的问题。 在Windows服务器/客户端上更改此registry项之后,一切正常:

HKLM \系统\ CurrentControlSet \服务\ LanmanWorkstation \参数\ DomainCompatibilityMode = 1

HKLM \系统\ CurrentControlSet \服务\ LanmanWorkstation \参数\ DNSNameResolutionRequired = 0

HKLM \系统\ CurrentControlSet \服务\ LanmanWorkstation \参数\ RequireSecureNegociate = 0

但我使用winbind / kinit /等。 执行AD集成。 也许这可以帮助你。

编辑1:

  • 你有没有在CentOS上安装kerberos软件包:krb5-workstation krb5 -libs krb5 -auth -dialog?
  • 是否“getent passwd”返回你的Windows域用户?