Я установил машину 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
и я могу войти через SSH, используя свои учетные данные AD (так что я получаю 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.
Любая помощь будет оценена. Заранее спасибо!
Обновления:
ads
и domain
, с аналогичными результатами (без сигары)Поиск пакетов 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
вообще не сработало.
Таким образом, для группы безопасности с именем "WebDevGrp" в Windows в 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
в вашу конфигурацию, имеет огромное значение !.
PPS. Я написал руководство по всему процессу - от ванильной недавно установленной CentOS 7 до совместного использования Samba с аутентификацией / авторизацией AD, которые вы можете найти в моем блоге Вот
Недавно мне пришлось настроить тестовую среду Windows / Samba в Fedora и Windows 2012 / Windows 7, и у меня возникли похожие проблемы. После изменения этих ключей реестра на серверах / клиентах Windows все работало нормально:
HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters \ DomainCompatibilityMode = 1
HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters \ DNSNameResolutionRequired = 0
HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters \ RequireSecureNegociate = 0
Но я использовал winbind / kinit / etc. для выполнения интеграции AD. Может, это могло бы тебе помочь.
РЕДАКТИРОВАТЬ1: