Active-Directory

與 realmd / sssd 和 AD 集成共享文件夾

  • July 21, 2014

我已經設置了一台 CentOS 7 機器,並通過以下方式將其加入我們的 AD realmd

yum install realmd samba-common oddjob oddjob-mkhomedir sssd
realm join --user=myuser@mydomain.local 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: %U@mydomain.local
 login-policy: allow-realm-logins

我可以使用我的 AD 憑據通過 SSH 登錄(所以我得到了 myuser@mydomain.local@hostname)。

我現在需要允許 Windows 使用者訪問機器上的文件夾,但是 Samba 似乎不願意合作 - 所有組合或使用者名和密碼都返回錯誤。我不知道如何調試它,或者我是否遺漏了一些東西。

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 被禁用

搜尋 krb* 包:

[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返回空白(無輸出)。

回答我自己的問題:

唯一錯誤的是該valid users部分smb.conf- 似乎%S根本不起作用。

因此,對於 Windows 中名為“WebDevGrp”的安全組,在 CentOS 上它將顯示為webdevgrp@mydomain.local(您可以通過測試groups myuser@mydomain.local),然後您可以像這樣進行 Samba 共享:

[vHosts]
 comment = Virtual Host repository
 path = /var/www/vhosts
 public = no
 writable = yes
 guest ok = no
 valid users = @"webdevgrp@mydomain.local"

而且您甚至不會被提示輸入密碼 - 這一切都是無縫的!

PS。在調試 Samba 時,添加log level = 3到您的配置中,會有很大的不同!

聚苯乙烯。我已經編寫了整個過程的指南——從全新安裝的 CentOS 7 到 Samba 共享與 AD 身份驗證/授權,你可以在我的部落格上找到這裡

引用自:https://serverfault.com/questions/614171