tl; dr Assumindo uma configuração LDAP / PAM básica (mas funcional), como o smbpasswd falha com essa mensagem de erro quando tento adicionar um usuário UNIX / LDAP existente ao Samba?
Eu tenho uma configuração LDAP básica, mas funcional, em um servidor Debian que possui poucas contas carregadas com senhas, e suas contas UNIX correspondentes foram criadas. Eu também tenho uma configuração básica de PAM / NSS que parece estar funcionando.
Eu consigo acessar e usar as contas via LDAP. Agora eu quero configurar um compartilhamento de arquivo simples usando o Samba e fazer com que ele autentique usuários através do backend PAM / LDAP. Estou no ponto em que preciso criar usuários do Samba usando o utilitário smbpasswd
, mas isso resulta em um erro.
Primeiro, defino a senha do LDAP:
# smbpasswd -W
Então eu tentei adicionar um usuário que já está configurado no LDAP:
# smbpasswd -a new_user
New SMB password:
Retype SMB password:
Failed to add entry for user new_user.
Então eu não sei porque este comando está falhando. No começo eu percebi que era porque eu precisava fazer com que os usuários no diretório LDAP fossem sambaSamAccount
s. Então eu atualizei o arquivo LDIF do meu usuário para ficar assim:
dn: cn=new_user,ou=group,dc=example,dc=com
cn: new_user
gidNumber: 1000
objectClass: top
objectClass: posixGroup
dn: uid=new_user,ou=people,dc=example,dc=com
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
uid: new_user
uidNumber: 1000
gidNumber: 1000
cn: test user
sn: new_user
mail: [email protected]
loginShell: /bin/bash
homeDirectory: /home/new_user
sambaSID: 3000
sambaDomainName: TEST-ROME
As únicas alterações feitas no LDIF acima foram as adições de sambaSamAccount
como objectClass
e sambaSID
e sambaDomainName
. Eventualmente eu quero implementar um PDC, então tenho certeza que eu preciso de um sambaSamAccount
de qualquer maneira.
No entanto, depois de tudo isso, ainda recebo o mesmo erro.
Então, como alguém pode depurar esse erro?
RESOLVIDO Depois de depurar o daemon como sugerido, descobri que smbpasswd
estava executando consultas com um campo base dn
vazio, não retornando resultados. Isso foi corrigido adicionando os campos ldap suffix
e ldap user suffix
ao meu smb.conf
. Depois disso, percebi que precisava de uma maneira correta de gerar sambaSIDs também, mas isso é um problema separado.