Active-Directory
與 realmd / sssd 和 AD 集成共享文件夾
我已經設置了一台 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
- 嘗試將安全性設置為
ads
和domain
,結果相似(沒有雪茄)- 在 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\myuser
並getent 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 身份驗證/授權,你可以在我的部落格上找到這裡