Para começar, merda está prestes a acertar o ventilador e eu preciso de sua ajuda!
Estou com tão pouco tempo que não consigo descrever tudo o que fiz e o que não fiz, mas tenho um problema e espero que você possa ajudar!
- OpenLDAP (trabalhando com scripts ldapsearch e php)
- Trabalhando samba sem LDAP
Estou tentando conectar esses dois pontos, não sei exatamente o que você precisa, mas darei a você se você contanto que você pergunte!
Isto é o que meu access.log
diz (onde todos os meus dados smb são despejados):
[2013/02/10 19:41:25, 2] passdb/init_sam_from_ldap(545): Entry found for user: ***<username>***
[2013/02/10 19:41:25, 0] passdb/pdb_get_group_sid: Failed to find Unix account for ***<username>***
[2013/02/10 19:41:25, 1] auth/make_server_info_sam(589): User ***<username>*** in passdb, but getpwnam() fails!
[2013/02/10 19:41:25, 0] auth/check_sam_security: make_server_info_sam() failed with 'NT_STATUS_NO_SUCH_USER'
[2013/02/10 19:41:25, 2] auth/check_ntlm_password: Authentication for user [***<username>***] -> [***<username>***] FAILED with error NT_STATUS_NO_SUCH_USER
É como se os hashes de senha no banco de dados OpenLDAP não correspondessem ao que o samba considera que deveria receber, ou algo assim.
nota: Ao fornecer uma senha errada, ela diz senha incorreta .. esses logs são para uma autenticação perfeita usando credenciais corretas, ou pelo menos eu tentei (via gnome filebrowser, username: username , grupo de trabalho: WORKGROUP, senha: senha em texto simples )
Aqui está meu smb.conf:
[global]
unix charset = LOCALE
netbios name = test
server string = test
passdb backend = ldapsam:"ldap://<ip>"
username map = "/etc/samba/smbusers"
log level = 2
syslog = 0
log file = /var/log/samba/access.log
max log size = 0
name resolve order = hosts dns
load printers = No
add user script = /usr/bin/smbldap-useradd -m '%u'
delete user script = /usr/bin/smbldap-userdel '%u'
add group script = /usr/bin/smbldap-groupadd -p '%g'
delete group script = /usr/bin/smbldap-groupdel '%g'
add user to group script = /usr/bin/smbldap-groupmod -m '%g' '%u'
delete user from group script = /usr/bin/smbldap-groupmod -x '%g' '%u'
add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
set primary group script = /usr/bin/smbldap-usermod -g '%g' '%u'
domain logons = Yes
domain master = Yes
wins support = Yes
ldap admin dn = cn=admin,dc=test,dc=local
ldap group suffix = ou=Groups
ldap user suffix = ou=People
ldap suffix = dc=test,dc=local
ldap ssl = no
ldap passwd sync = yes
Aqui está o meu ldap.conf
** O servidor está inativo, então não tenho esse atm **
De acordo com o wireshark, o OpenLDAP envia as informações corretas ao pesquisar o uid
, mas ao fazer o login real eu acho que o samba diz algo sobre o "singelLevel" que Eu acho que pode ser relevante, isso é onde ele falha e os dados "errados" são enviados de volta para o samba.
Mais uma vez, estou sem sorte e o tempo está contra mim e eu tentei de tudo e de qualquer coisa, mas o samba apenas se recusa a usar qualquer login LDAP.
compartilhamentos:
Eles funcionam sem o LDAP, então o compartilhamento é bom! (mesmo com autenticação não ldap)
Adicionar um usuário unix
Isso funciona ... Então eu posso acessar o compartilhamento, mas eu explicitamente disse ao samba para não usar autenticação local, eu escolhi o LDAP?