Samba + LDAP + Squid no Debian

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).

[ Hits: 91.700 ]

Por: Bruno de la Mata Bani Arantes em 23/05/2007


Servidor Apache



Instalação e configuração do Apache:

# apt-get install apache2

Instalação e configuração do PHP4:

# apt-get install libapache2-mod-php4 php4-mhash php4 php4-fpdf

Instalação e configuração do Ldap-Account-Manager (Página de Administração do Ldap):

Baixar do site a última versão do Ldap-Account-Manager (Versão Utilizada 1.3). Referências:
Instalar o Ldap-Account-Manager:

# dpkg -i ldap-account-manager.deb

OBS: Por padrão os arquivos vão para /usr/share/ldap-account-manager. Mova-o ou faça uma cópia para a pasta padrão se seu Apache, no meu caso em /var/www.

# mv /usr/share/ldap-account-manager /var/www/lam

Configuração do Ldap-Account-Manager:

OBS: os arquivos de configuração são basicamente 2: "lam.conf" e "config.cfg".

Configuração do arquivo lam.conf (edite seu arquivo conforme o exemplo abaixo):

# LDAP Account Manager configuration

# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)
serverURL: ldap://localhost:389

# list of users who are allowed to use LDAP Account Manager
# names have to be seperated by semicolons
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
admins: cn=admin,dc=vivaolinux

# password to change these preferences via webfrontend
passwd: system

# suffix of tree view
# e.g. dc=yourdomain,dc=org
treesuffix: dc=vivaolinux
usersuffix: ou=Usuarios,dc=vivaolinux
groupsuffix: ou=Grupos,dc=vivaolinux
hostsuffix: ou=Computadores,dc=vivaolinux
domainsuffix: ou=Dominios,dc=vivaolinux

# maximum number of rows to show in user/group/host lists
maxlistentries: 30

# default language (a line from config/language)
defaultLanguage: en_GB.utf8:UTF-8:English (Great Britain)

# Path to external Script
scriptPath:

# Server of external Script
scriptServer:

# Number of minutes LAM caches LDAP searches.
cachetimeout: 5

samba3: yes

# Module settings
modules: posixAccount_minUID: 10000
modules: posixAccount_maxUID: 30000
modules: posixAccount_minMachine: 50000
modules: posixAccount_maxMachine: 60000
modules: posixGroup_minGID: 10000
modules: posixGroup_maxGID: 20000
modules: posixGroup_pwdHash: CRYPT
modules: posixAccount_pwdHash: CRYPT

# List of active account types.
activeTypes: user,group,host,smbDomain

types: suffix_group: ou=Grupos,dc=vivaolinux
types: attr_group: #cn;#gidNumber;#memberUID;#description
types: modules_group: posixGroup,sambaGroupMapping

types: suffix_host: ou=Computadores,dc=vivaolinux
types: attr_host: #cn;#description;#uidNumber;#gidNumber
types: modules_host: account,posixAccount,sambaSamAccount

types: suffix_smbDomain: ou=Dominios,dc=vivaolinux
types: attr_smbDomain: sambaDomainName:Domain name;sambaSID:Domain SID
types: modules_smbDomain: sambaDomain

Configuração do arquivo config.cfg (edite seu arquivo conforme o exemplo abaixo):

# password to add/delete/rename configuration profiles
password: system

# default profile, without ".conf"
default: lam

Pronto LDAP + Samba! Agora só Abrir seu browser padrão e digitar:

http://ip_do_servidor_ldap/lam

Exemplo: http://20.0.0.1/lam

Página anterior     Próxima página

Páginas do artigo
   1. Servidor LDAP
   2. Servidor Samba
   3. Servidor Apache
   4. Servidor proxy Squid
Outros artigos deste autor

Utilizar um placa PCI como Access Point no Debian 4

Leitura recomendada

Acertando automaticamente a hora e a data

Ubuntu 64: Como criar um chroot para aplicações 32 bits

Android - Emulando, Instalando e Removendo Aplicativos APK

Configurando placas wireless baseadas no chip Realtek RTL8180 no Linux

Configurando o driver nVidia no Mandrake 10.1

  
Comentários
[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.


dcyrillo, não podem.

[3] Comentário enviado por pcnmota em 23/05/2007 - 17:48h

E ae mano.... Parabens pelo artigo... Muito BOM!

abraços!

[4] Comentário enviado por brunoarantes em 23/05/2007 - 17:55h

vale pela dica leogemeostotino.

[5] Comentário enviado por brunoarantes em 23/05/2007 - 17:56h

Respondendo a pergunta do amigo dcyrillo.
Em se falando de autenticação, esquece proxy Transparente. Abraç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!

Um abraço

[7] Comentário enviado por brunoarantes em 24/05/2007 - 08:41h

Gostaria de Agrader um Amigo Virtual, pelo apoio, esclarecimento de duvidas e pelo ensinamento.
!!!!!!! Joedilson Azevedo !!!!!!

[8] Comentário enviado por andersonmo7 em 24/05/2007 - 18:44h

Você usou qual versão do Debian ? Etch ou Sarge ?

[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

[10] Comentário enviado por fischerdouglas em 09/08/2007 - 13:40h

?comentario= Cara, o pacote php4-fpdf... nao existe!!! Posso usar o php-fpdf? alguma outra opção?

[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


Como posso arrumar isso, ou o que fiz de errado.

Agradeço desde ja.
Abraço

[13] Comentário enviado por vanrel em 07/11/2007 - 09:03h

Estou tendo o mesmo problema do bolaoutro, o usuário root não entra.

[14] Comentário enviado por jkessler em 20/11/2007 - 11:12h

Fala Bruno Parabéns pelo artigo muito bom!!!

Cara estou com o seguinte problema na hora de popular a base encontro o seguinte erro:

oot@ze-laptop:~# smbldap-populate
Populating LDAP directory for domain gcomp.com.br (S-1-5-21-2667053128-3152142411-1601951123)
(using builtin directory structure)

entry dc=gcomp.com.br already exist.
entry ou=People,dc=gcomp.com.br already exist.
entry ou=Group,dc=gcomp.com.br already exist.
entry ou=Computer,dc=gcomp.com.br already exist.
entry ou=Idmap,dc=gcomp.com.br already exist.
entry uid=root,ou=People,dc=gcomp.com.br already exist.
entry uid=nobody,ou=People,dc=gcomp.com.br already exist.
entry cn=Domain Admins,ou=Group,dc=gcomp.com.br already exist.
entry cn=Domain Users,ou=Group,dc=gcomp.com.br already exist.
entry cn=Domain Guests,ou=Group,dc=gcomp.com.br already exist.
entry cn=Domain Computers,ou=Group,dc=gcomp.com.br already exist.
entry cn=Administrators,ou=Group,dc=gcomp.com.br already exist.
entry cn=Account Operators,ou=Group,dc=gcomp.com.br already exist.
entry cn=Print Operators,ou=Group,dc=gcomp.com.br already exist.
entry cn=Backup Operators,ou=Group,dc=gcomp.com.br already exist.
entry cn=Replicators,ou=Group,dc=gcomp.com.br already exist.
entry SambaDomainName=gcomp.com.br,dc=gcomp.com.br already exist. Updating it...
failed to modify entry: structural object class modification from 'sambaDomain' to 'inetOrgPerson' not allowed at /usr/sbin/smbldap-populate line 488, <GEN1> line 21.
Estou usando o Kubuntu 7.04 ldap 2.3.30-2 Samba 3.0.24-2ubuntu1.2

Agradeço desde já um forte abraço

jkessler

[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"

Espero ter ajudado
Vine Hellcat

[16] Comentário enviado por lipecys em 03/06/2008 - 08:32h

Muito bacana seu artigo, parabéns.
Foi pro favoritos.

[17] Comentário enviado por dalph em 26/06/2008 - 14:45h

to com o mesmo problema do jkessler e agora não consigo mais logar como root na maquina e se digito su ele aceita a senha e nao troca o usuario.

alguém pode dar uma ajuda?

[18] Comentário enviado por wfergom em 12/08/2008 - 09:35h

Muito bom, valeu !!!

[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.....

enfim eh isso aew...

aguardo respostas...

e desde ja desculpa ai a ignorancia....


e belo post.... vlw mermao....

abs

Marlo de Souza

[20] Comentário enviado por katatas em 14/09/2008 - 10:30h

aew glra descobri ai pra configurar....

basta reconfigurar o comando:

#dpkg -reconfigure nome do pacote


vlw glra, espero ter ajudado aew alguem que esteja com o memo problema...

vlw

abs

[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



PORFAVOR ajude-me =D-

[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.


[23] Comentário enviado por rmacedo em 29/10/2009 - 13:30h

Não consegui executar o comando abaixo:
/etc/init.d/sysklogd restart

Onde eu errei.
Minha distro é um Debian 5

[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.

Alguém pode me ajudar?

[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.

[]'s

[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.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts