Что я сделал до сих пор
apt-get install slapd ldap-utils
390,637
из-за блокирования самбы 389,636
libnss-ldapd
для аутентификации LDAP (getent passwd
выходные пользователи LDAP правильно)smbpasswd -w xxx
)Проблема
Я соединил клиент Windows 7 с доменом и попытался войти в пользователя, созданного с smbldap-useradd
. Я получаю сообщение неправильного пароля от окон, но абсолютно никаких ошибок/предупреждений от самбы. Мой проверочный пользователь является действительно существующим в LDAP (сверенный phpldapadmin
), таким образом, я предполагаю, что самба правильно не говорит с ldap. Я застреваю в этой точке, и нуждаются в некоторой помощи!
Что я заметил
Я установил passdb backend = ldapsam:ldap://testsrv.alfr.local:390/
который не появляется в выводе testparm
(см. внизу).
Программное обеспечение я использую
Конфигурации и выводы
testsrv
alfr.local
192.168.25.1
(Сервер действует как DHCP для этой сети в пределах от 25,50 до 25.254),Вывод testparm
root@testsrv:~# testparm
Load smb config files from /usr/local/samba/etc/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[profiles]"
Processing section "[netlogon]"
Processing section "[sysvol]"
Processing section "[homes]"
Loaded services file OK.
Server role: ROLE_ACTIVE_DIRECTORY_DC
Press enter to see a dump of your service definitions
[global]
workgroup = ALFR
realm = alfr.local
server role = active directory domain controller
passdb backend = samba_dsdb
add user script = /usr/sbin/smbldap-useradd -m '%u' -t 1
rename user script = /usr/sbin/smbldap-usermod -r '%unew' '%uold'
delete user script = /usr/sbin/smbldap-userdel '%u'
add group script = /usr/sbin/smbldap-groupadd -p '%g'
delete group script = /usr/sbin/smbldap-groupdel '%g'
add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
add machine script = /usr/sbin/smbldap-useradd -w '%u' -t 1
domain logons = Yes
os level = 10
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = cn=admin,dc=alfr,dc=local
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap suffix = dc=alfr,dc=local
ldap ssl = no
ldap user suffix = ou=Users
server services = rpc, nbt, wrepl, cldap, ldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate, smb
dcerpc endpoint servers = epmapper, wkssvc, rpcecho, samr, netlogon, lsarpc, spoolss, drsuapi, dssetup, unixinfo, browser, eventlog6, backupkey, dnsserver, winreg, srvsvc
rpc_server:tcpip = no
rpc_daemon:spoolssd = embedded
rpc_server:spoolss = embedded
rpc_server:winreg = embedded
rpc_server:ntsvcs = embedded
rpc_server:eventlog = embedded
rpc_server:srvsvc = embedded
rpc_server:svcctl = embedded
rpc_server:default = external
idmap config * : backend = tdb
map archive = No
map readonly = no
store dos attributes = Yes
vfs objects = dfs_samba4, acl_xattr
[profiles]
path = /srv/samba/profiles
read only = No
create mask = 0611
directory mask = 0700
profile acls = Yes
map hidden = Yes
map system = Yes
browseable = No
csc policy = disable
[netlogon]
path = /usr/local/samba/var/locks/sysvol/alfr.local/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[homes]
comment = Eigener Ordner
path = /srv/samba/homes/%S
read only = No
create mask = 0611
directory mask = 0711
browseable = No
vfs objects = acl_xattr, full_audit
full_audit:failure = connect opendir disconnect unlink mkdir rmdir open rename
full_audit:success = connect opendir disconnect unlink mkdir rmdir open rename
Вывод ps aux
(отключите неважный материал),
root@testsrv:~# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 699 0.0 0.0 7272 608 ? Ss 08:08 0:00 dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth
bind 827 0.0 2.8 502280 58392 ? Ssl 08:08 0:01 /usr/sbin/named -u bind
dhcpd 833 0.0 0.2 14552 4476 ? Ss 08:08 0:00 /usr/sbin/dhcpd -f -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/ltsp/dhcpd.conf
openldap 1024 0.0 0.3 722000 6524 ? Ssl 08:08 0:00 /usr/sbin/slapd -h ldap://127.0.0.1:390/ ldaps://127.0.0.1:637/ ldapi://%2fvar%2frun%2fslapd%2fldapi/??
root 1051 0.0 0.0 693092 1172 ? Ssl 08:08 0:00 /usr/sbin/nscd
nslcd 1075 0.0 0.0 443600 1376 ? Ssl 08:08 0:00 /usr/sbin/nslcd
ntp 1279 0.0 0.0 25960 1836 ? Ss 08:08 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:114
root 1595 0.0 2.2 534364 46152 ? Ss 09:52 0:00 samba start
root 1597 0.0 1.8 538976 38532 ? S 09:52 0:00 samba start
root 1598 0.0 1.7 539772 35624 ? S 09:52 0:00 samba start
root 1599 0.0 1.6 536876 33716 ? S 09:52 0:00 samba start
root 1600 0.0 1.6 534364 34568 ? S 09:52 0:00 samba start
root 1601 0.0 1.8 534804 37568 ? S 09:52 0:00 samba start
root 1602 0.0 1.8 538516 37212 ? S 09:52 0:00 samba start
root 1603 0.0 1.6 534364 34328 ? S 09:52 0:00 samba start
root 1604 0.0 1.6 537192 33928 ? S 09:52 0:00 samba start
root 1605 0.0 1.5 534364 32716 ? S 09:52 0:00 samba start
root 1606 0.0 2.0 534364 41264 ? S 09:52 0:00 samba start
root 1607 0.0 1.6 534364 33884 ? S 09:52 0:00 samba start
root 1608 0.0 1.6 534364 33360 ? S 09:52 0:00 samba start
/etc/nsswitch.conf
root@testsrv:~# cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
# pre_auth-client-config # passwd: compat
passwd: files ldap
# pre_auth-client-config # group: compat
group: files ldap
# pre_auth-client-config # shadow: compat
shadow: files ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
# pre_auth-client-config # netgroup: nis
netgroup: nis
Есть ли у вас явная необходимость использовать ldap?
Я использую активную директорию samba уже больше года, и единственная проблема, с которой я столкнулся, - это timescew.Вам следует дважды проверить это, особенно когда вы используете виртуализированные машины.
Я делал сервер LDAP с SAMBA. Проблемы, с которыми я столкнулся с SAMBA и которые могут вас беспокоить, находятся между конфигурациями разных версий SAMBA. Вы уверены, что использовали подходящую конфигурацию для своей версии самбы? Было бы очень полезно, если бы вы скопировали .bash_history, чтобы я мог поискать любые неправильные настройки или даже протестировать его на машине.
Я не вижу директивы безопасности в вашем файле конфигурации.Я предполагаю, что вам нужен security = ad. В прошлом месяце я пытался сделать то же самое - использовать OpenLDAP в качестве основной базы данных для входа в систему.
Я протестировал несколько подходов:
Samba 4 AD в настоящее время не может доверять (Samba Team будет Скоро опубликуйте Samba 4.2 на момент написания), поэтому вы не можете использовать механизмы доверия.
Samba 4 в AD, насколько мне известно, не может быть основана на OpenLDAP из-за отсутствия схем, необходимых для Active Directory.
Я устал использовать программное обеспечение под названием LSC, которое в основном позволяет синхронизировать пользователей и группы между AD и OpenLDAP. Здесь тоже не повезло. Документация и примеры LSC устарели и несовместимы с текущей версией. Наконец-то мне удалось заставить работать синхронизацию пользователей, но есть несколько ошибок (по крайней мере, в LSC v2.0 я устал), когда вы обновляете пароль в OpenLDAP, LSC не поймает его. Вы должны хранить пароли в виде обычного текста, чтобы он работал.
На данный момент нет контроллера Samba AD с OpenLDAP в качестве бэкэнда. Я планирую использовать классический контроллер домена NT, как только Samba будет поддерживать доверительные отношения, тогда я хочу делегировать доверительные отношения в одном направлении (с samba4 NT DC на Samba4 AD) и использовать его на контроллере домена AD с информацией о пользователе, расположенной в OpenLDAP.
Если кто-то найдет здесь ошибку, я буду более чем рад ее услышать. ; -)
ОБНОВЛЕНИЕ : Согласно информации Франческо Мальвецци в Samba 4.3, доверие теперь поддерживается:
https://www.samba.org/samba/history/samba-4.3.0.html
Улучшенная поддержка доверенных доменов (как AD DC )
Поддержка доверенных доменов / лесов значительно улучшилась.
samba-tool
получил подкоманды «domain trust» для управления доверительными отношениями:
create
- создать доверительный домен или лес.
delete
- Удалить доверие домена.
список
- Список доверенных доменов.
пространства имен
- Управление пространствами имен доверия лесов.
show
- Показать сведения о доверенном домене .
validate
- Проверка доверия домена.Внешние отношения доверия между отдельными доменами работают в обоих направлениях (входящие и исходящий). То же самое относится и к корневым доменам доверия леса. В транзитивная маршрутизация в другой лес полностью функциональна для kerberos, но еще не поддерживается для NTLMSSP.
Хотя многие вещи работают нормально, в настоящее время есть несколько ограничения:
- Обе стороны доверия должны полностью доверять друг другу!
- Никакие правила фильтрации SID не применяются!
- Это означает, что контроллеры домена A могут предоставлять права администратора домена в домене B.
- Невозможно добавить пользователей / группы доверенного домена в доменные группы.
Пример конфигурации: https://www.samba.org/samba/history/samba-4.3.0.html
Доверительные отношения созданы и могут быть проверены с помощью winbind:
wbinfo -u
-> get список локальных пользователей
wbinfo -u --domain = trust.domain.tld
-> получить список пользователей доверенного домена (также можно использовать короткий домен)Его также можно проверить с помощью
- local-dc-username
и- переключатели local-dc-password
:
samba-tool domain trust проверить trust.domain.tld \ --local-dc-password = trustedAdminPass \ --local-dc-username = administrator \ -U administrator at trusted.domain.tld
Использование внутреннего DNS Samba делает пересылку DNS-запросов прозрачной (с помощью нескольких инструментов, которые я собираюсь проверить).
Чтобы иметь возможность подключиться к machine.A.domain.tld, используя пользователя из B.domain.tld вам понадобится специальная группа «Прошедшие проверку» для RDP. авторизованные люди.
Я все еще жду, пока он станет доступен на официальном канале в моем дистрибутиве (debian 8-9).