Este artigo tem por objetivo ajudar na instalação, configuração e integração dos serviços Samba e Squid a uma base de dados unificada em seu sistema (LDAP).
Levando em consideração que o Debian já esteja instalado:
Instalação do servidor LDAP:
# apt-get install slapd ldap-utils
Domain Name vivaolinux
Organization Name Viva_o_Linux
Admin Password ****** (use a senha do root)
Verify password ****** (use a senha do root)
Allow LDAPv2 protocol no
Modificar no arquivo /etc/ldap/slapd.conf:
loglevel 256 #para fazer logs 256, para não fazer deixar
suffix "dc=vivaolinux"
rootdn "cn=admin,dc=vivaolinux"
rootpw {SSHA}.........................................
Onde a entrada do parâmetro rootpw foi gerada pelo comando (colar o resultado):
# slappasswd -s senha_do_ root -h {SSHA}
Acrescentar no arquivo /etc/syslog.conf a entrada:
local4.* /var/log/ldap.log
Instalar o banco de dados DB4:
# apt-get install db4.2-util
Reiniciar o sysklogd e o slapd:
# /etc/init.d/sysklogd restart
# /etc/init.d/slapd restart
Instalação do servidor LDAP:
# apt-get install ldap-utils
Modificar o arquivo /etc/ldap/ldap.conf:
HOST 20.0.0.1 (ip do servidor ldap)
BASE dc=vivaolinux
SERVER 20.0.0.1 (ip do servidor ldap)
SIZELIMIT 10000
BINDDN cn=admin, dc=vivaolinux
BINDPW {SSHA}.... (mesmo anterior)
ROOTBINDDN dc=admin, dc=vivaolinux
Instalar o pacote libnss-ldap:
# apt-get install libnss-ldap
Endereço do servidor LDAP 20.0.0.1 (ip do servidor ldap)
dn dc=vivaolinux
Versão do protocolo LDAP 3
Base de dados requer autenticação Não
Tornar a configuração..... Não
Liberar modificação do arquivo pelo root:
# chmod 644 /etc/libnss-ldap.conf
Editar o arquivo /etc/nsswitch.conf, fazendo com que ele busque a autenticação no ldap primeiro:
passwd: ldap compat
group: ldap compat
shadow: ldap compat
hosts: file dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Instalar o pacote PAM (Password Authentication Module):
# apt-get install libpam-ldap
Make local root db admin yes
DB requires login no
Root login account cn=admin, dc=vivaolinux
Root login passwd ****** (use a senha do root)
Local crypt to use Crypt
[1] Comentário enviado por dcyrillo em 23/05/2007 - 09:12h
Parabéns pelo artigo, muito bem explicado e de fácil compreensão.
Para a autenticação funcionar no squid, nao pode ser feito com proxy transparente né, mesmo com a base de dados Ldap?
Abraço!
[2] Comentário enviado por removido em 23/05/2007 - 10:55h
Belo artigo.
Mas esse módulo do Squid para o suporte a autenticação LDAP em algumas versões do Squid há vulnerabilidades em que o atacante pode logar no servidor sem a autenticação. Fica a observação.
[6] Comentário enviado por koiti.ozaki em 24/05/2007 - 08:23h
Olá Bruno!
Parabéns pelo artigo, que traz uma experiência prática específica.
Você conseguiu formatar a seqüência de passos para a instalação de um ambiente em que muitos também querem.
Espero que a minha contribuição neste seu sucesso tenha lhe ajudado.
Não esqueça de citar o apoio que você teve do Joedilson Azevedo!
[9] Comentário enviado por vladijr em 03/06/2007 - 15:32h
olá estou com um problema fiz todas as configurações do ldap conforme estão no artigo mas não consigo mais fazer logon no servidor pois da falha de login quando tento entrar no sistema e acesso negado quando tento logar como root o que pode estar acontecendo??? estou usando o ubuntu 6.10
[11] Comentário enviado por bolaoutro em 27/08/2007 - 11:21h
Estou com o mesmo problema do Vladirj... apos a instalacao do LDAP ... o usuario root perde a senha, nao consigo mas usar o "sudo" .... o que pode estar acontecendo ??? Estou usando o Debian 4 !!!!
.
Abraços !!
[12] Comentário enviado por removido em 29/10/2007 - 17:14h
Ola amigo,
cmecei a seguir os passos do artigo e no ultimo comando da sessão samba, me ocorreu o seguinte erro abaixo:
server:/etc# smbpasswd -a root
failed to bind to server ldap://localhost with dn="cn=admin,dc=rrm" Error: Can't contact LDAP server
(unknown)
Connection to LDAP server failed for the 1 try!
...
Connection to LDAP server failed for the 12 try!
Connection to LDAP server failed for the 13 try!
New SMB password:
Retype new SMB password:
Connection to LDAP server failed for the 1 try!
Connection to LDAP server failed for the 2 try!
...
Connection to LDAP server failed for the 13 try!
Failed to add entry for user root.
Failed to modify password entry for user root
[15] Comentário enviado por vinehellcat em 06/03/2008 - 23:34h
ao menegazo666 ....coloque isso no seu slapd.conf
# Indexing options for database #1
index sambaSID eq
index sambaPrimaryGroupSID eq
index objectClass,uid,uidnumber,gidnumber eq
index cn,mail,surname,givenname eq,sub
depois smbldap-populate depois smbpasswd -a root "senha"
[19] Comentário enviado por katatas em 12/09/2008 - 10:51h
caro bruno, antes de tudo... muito obrigado aew pelo seu tuto.. estou fazendo um trabalho na facul, que eh basicamente isso aew... foi mao na roda pra mim, veio....
agora eis o problema... nao sei se eh burrice minha, mas logo no primeiro comando deu pau....
qndo executei:
#apt-get install slapd ldap-utils ... pelo q entendi era para aparecer um front end, pedindo domain name, organization name, admin passwd, verify passwd... mas no meu caso que estou usando ubuntu 8.04, nao apareceu isso, apareceu apenas pedindo a senha e pra confirmar, dai qndo fui editar o arquivo /etc/ldap/slapd.conf... aparece no rootd "dc=nodomain"... nao sei se eh pra mim alterar ai o dominio, ou se eh pra mim definir la no comando de cima.....
[21] Comentário enviado por paulloal em 04/01/2009 - 22:14h
o meu deu o seguinte erro.... e como posso arumalo
Use of uninitialized value in string at /usr/share/perl5/smbldap_tools.pm line 298.
entry dc=ccb already exist.
adding new entry: ou=People,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 3.
adding new entry: ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 4.
adding new entry: ou=Computer,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 5.
adding new entry: ou=Idmap,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 6.
adding new entry: uid=root,ou=People,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 7.
adding new entry: uid=nobody,ou=People,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 8.
adding new entry: cn=Domain Admins,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 9.
adding new entry: cn=Domain Users,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 10.
adding new entry: cn=Domain Guests,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 11.
adding new entry: cn=Domain Computers,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 12.
adding new entry: cn=Administrators,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 16.
adding new entry: cn=Account Operators,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 18.
adding new entry: cn=Print Operators,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 19.
adding new entry: cn=Backup Operators,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 20.
adding new entry: cn=Replicators,ou=Group,dc=ccb
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 21.
entry SambaDomainName=ccb,dc=ccb already exist. Updating it...
failed to modify entry: modifications require authentication at /usr/sbin/smbldap-populate line 488, <GEN1> line 21.
Please provide a password for the domain root:
Use of uninitialized value in string at /usr/share/perl5/smbldap_tools.pm line 298.
/usr/sbin/smbldap-passwd: user root doesn't exist
[22] Comentário enviado por kroger em 11/03/2009 - 00:29h
Estou com o mesmo problema aki !!!
Uso fedora 7
Samba 4 + LDAP
# smbldap-populate
.
.
.
aparece o seguite erro:
entry dc=domimio,dc=local already exist.
entry ou=Usuarios,dc=domimio,dc=local already exist.
entry ou=Grupos,dc=domimio,dc=local already exist.
entry ou=Computadores,dc=domimio,dc=local already exist.
adding new entry: ou=Idmap,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 27.
entry uid=root,ou=Usuarios,dc=domimio,dc=local already exist.
adding new entry: uid=nobody,ou=Usuarios,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 89.
adding new entry: cn=Domain Admins,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 101.
adding new entry: cn=Domain Users,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 112.
adding new entry: cn=Domain Guests,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 123.
adding new entry: cn=Domain Computers,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 134.
adding new entry: cn=Administrators,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 179.
adding new entry: cn=Account Operators,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 201.
adding new entry: cn=Print Operators,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 212.
adding new entry: cn=Backup Operators,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 223.
adding new entry: cn=Replicators,ou=Grupos,dc=domimio,dc=local
failed to add entry: modifications require authentication at /usr/sbin/smbldap-populate line 495, <GEN1> line 234.
entry cn=NextFreeUnixId,dc=domimio,dc=local already exist. Updating it...
failed to modify entry: modifications require authentication at /usr/sbin/smbldap-populate line 488, <GEN1> line 240.
Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:
failed to modify entry: modifications require authentication at /usr/sbin/smbldap-passwd line 227, <STDIN> line 2.
Unable to change password: modifications require authentication at /usr/sbin/smbldap-passwd line 261, <STDIN> line 2.
[24] Comentário enviado por rmacedo em 29/10/2009 - 14:43h
Olá pessoal,
O meu apresentou o resultado a seguir
Populating LDAP directory for domain INTERNIT (S-1-5-21-2459854038-2108465205-128929952)
(using builtin directory structure)
entry dc=internit,dc=net,dc=br already exist.
adding new entry: ou=People,dc=internit,dc=net,dc=br
adding new entry: ou=Group,dc=internit,dc=net,dc=br
adding new entry: ou=Computer,dc=internit,dc=net,dc=br
adding new entry: ou=Idmap,dc=internit,dc=net,dc=br
adding new entry: uid=root,ou=People,dc=internit,dc=net,dc=br
adding new entry: uid=nobody,ou=People,dc=internit,dc=net,dc=br
adding new entry: cn=Domain Admins,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Domain Users,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Domain Guests,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Domain Computers,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Administrators,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Account Operators,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Print Operators,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Backup Operators,ou=Group,dc=internit,dc=net,dc=br
adding new entry: cn=Replicators,ou=Group,dc=internit,dc=net,dc=br
adding new entry: SambaDomainName=INTERNIT,dc=internit,dc=net,dc=br
failed to add entry: attribute 'sambaNextRid' not allowed at /usr/sbin/smbldap-populate line 499, <GEN1> line 239.
Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:
que erro é esse?
failed to add entry: attribute 'sambaNextRid' not allowed at /usr/sbin/smbldap-populate line 499, <GEN1> line 239.
[25] Comentário enviado por rmacedo em 29/10/2009 - 15:26h
Olá Pessoal
Mais um problema.
Quando fui reiniciar meu Linux estou ganhando a seguinte mensagem:
could not connect to any LDAP as cn=admin,dc=internit,dc=net,dc=br - Can't contact LDAP server
failed to bind LDAP Server ldapi://192.168.254.50 - Can't contact LDAP server
Alguém sabe me dizer o que é isso?
Acho que pode ser algum problema na sequência do boot, pois isso acontece antes do linux configurar a placa de rede.
[26] Comentário enviado por educlj em 13/04/2011 - 10:48h
Excelente artigo!!! Obrigado!!
A título de ajuda para aqueles que enfrentam problemas tentando usar o smbldap-tools (smbldap-populate), após a configuração correta do LDAP, use o LAM (LDAP Account Manager) para criação da estrutura básica e do domínio samba. Após isso, tudo ocorre normalmente.