Você precisa definir uma senha ldap no samba. (E.G. se seu admindn for para o usuário admin)
smbpasswd -w admin
Atualmente estou executando o samba-3.5.6 em um host debian / wheezy para atuar como o servidor de arquivos para os w32-clients do nosso departamento. a autenticação é feita via OpenLDAP, onde cada usuário-dn possui uma classe de objeto: sambaSamAccount que contém as credenciais smb e uma classe de objeto: shadowAccount / posixAccount para autenticação "comum" (por exemplo, pam, apache, ...)
agora gostaríamos de despejar o user-db de nosso departamento e, em vez disso, usar autenticar em relação ao user-db de nossa organização upstream.
essas contas de usuário são gerenciadas em um novo diretório, que eu já posso usar para autenticar usando pam (por exemplo, para ssh-logins; em outro host).
nossa organização upstream fornece acesso baseado em smb / cifs (através de algum serviço novell) para alguns diretórios, que eu posso acessar do meu cliente linux via smbclient
.
o que eu atualmente não consigo fazer é usar o upstream-ldap (o eDirectory) para autenticar o samba de nossa instituição:
eu configurei meu servidor samba para auth no servidor ldap do upstream:
passdb backend = ldapsam:ldaps://ldap.example.com
mas quando tento autenticar um usuário, recebo:
$ smbclient -U USER \\SMBSERVER\test
Enter USER's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
tree connect failed: NT_STATUS_ACCESS_DENIED
os arquivos de log mostram:
[2012/10/02 09:53:47.692987, 0] passdb/secrets.c:350(fetch_ldap_pw)
fetch_ldap_pw: neither ldap secret retrieved!
[2012/10/02 09:53:47.693131, 0] lib/smbldap.c:1180(smbldap_connect_system)
ldap_connect_system: Failed to retrieve password from secrets.tdb
vejo dois problemas que estou tendo:
Eu não tenho nenhuma senha de administrador para o ldap do upstream (e muito provavelmente, eles não me darão um). Eu só quero autenticar meus usuários, acesso de gravação não é necessário a todos. posso ir embora com isso?
o ldap upstream não possui nenhum atributo relacionado ao samba no banco de dados. Fiquei com a impressão de que, para o samba autenticar, esses atributos são necessários, já que o smb / cifs usa algum hashing trivial que não é compatível com os hashes usuais de posixAccount.
existe uma maneira de o servidor samba do meu departamento se autenticar em um servidor ldap?
Você precisa definir uma senha ldap no samba. (E.G. se seu admindn for para o usuário admin)
smbpasswd -w admin